home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / error_hn / mcbundle / time2win.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-08-01  |  241.1 KB  |  6,240 lines

  1. VERSION 2.00
  2. Begin Form frmT2W 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Time To WIN (Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   1410
  7.    ClientTop       =   705
  8.    ClientWidth     =   9105
  9.    Height          =   8460
  10.    Icon            =   TIME2WIN.FRX:0000
  11.    Left            =   1380
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   8115
  14.    ScaleWidth      =   9105
  15.    Tag             =   "c"
  16.    Top             =   390
  17.    Width           =   9165
  18.    Begin PictureBox Picture1 
  19.       AutoSize        =   -1  'True
  20.       BorderStyle     =   0  'None
  21.       Height          =   480
  22.       Left            =   8520
  23.       Picture         =   TIME2WIN.FRX:0302
  24.       ScaleHeight     =   480
  25.       ScaleWidth      =   480
  26.       TabIndex        =   10
  27.       Top             =   180
  28.       Visible         =   0   'False
  29.       Width           =   480
  30.    End
  31.    Begin ComboBox Combo2 
  32.       Height          =   300
  33.       Left            =   6570
  34.       TabIndex        =   2
  35.       Top             =   450
  36.       Width           =   1185
  37.    End
  38.    Begin TextBox Text1 
  39.       Height          =   285
  40.       Left            =   3150
  41.       TabIndex        =   8
  42.       Text            =   "Text1"
  43.       Top             =   7740
  44.       Width           =   5865
  45.    End
  46.    Begin Frame Frame1 
  47.       BackColor       =   &H00C0C0C0&
  48.       Height          =   1455
  49.       Left            =   90
  50.       TabIndex        =   6
  51.       Top             =   6210
  52.       Visible         =   0   'False
  53.       Width           =   8925
  54.       Begin ListBox List2 
  55.          Height          =   1200
  56.          Left            =   4590
  57.          TabIndex        =   5
  58.          Top             =   180
  59.          Width           =   4155
  60.       End
  61.       Begin ListBox List1 
  62.          Height          =   1200
  63.          Left            =   180
  64.          TabIndex        =   4
  65.          Top             =   180
  66.          Width           =   4155
  67.       End
  68.    End
  69.    Begin CommandButton Command1 
  70.       Caption         =   "&Start demo for the selected item"
  71.       Height          =   285
  72.       Left            =   90
  73.       TabIndex        =   0
  74.       Top             =   450
  75.       Width           =   4065
  76.    End
  77.    Begin ComboBox Combo1 
  78.       Height          =   300
  79.       Left            =   90
  80.       TabIndex        =   9
  81.       Top             =   90
  82.       Width           =   7665
  83.    End
  84.    Begin Label Label2 
  85.       BackStyle       =   0  'Transparent
  86.       Caption         =   "&Text for string manipulation"
  87.       Height          =   195
  88.       Left            =   90
  89.       TabIndex        =   7
  90.       Top             =   7785
  91.       Width           =   2985
  92.    End
  93.    Begin Label Label1 
  94.       BackStyle       =   0  'Transparent
  95.       Caption         =   "&Iterations for speed test"
  96.       Height          =   195
  97.       Left            =   4320
  98.       TabIndex        =   1
  99.       Top             =   510
  100.       Width           =   2175
  101.    End
  102.    Begin Label Label3 
  103.       BackStyle       =   0  'Transparent
  104.       BorderStyle     =   1  'Fixed Single
  105.       Height          =   5340
  106.       Left            =   90
  107.       TabIndex        =   3
  108.       Top             =   810
  109.       Width           =   8925
  110.       WordWrap        =   -1  'True
  111.    End
  112. Option Explicit
  113. Option Base 1
  114. Dim Item       As Integer
  115. Dim ItemFile   As Integer
  116. Dim ItemMean   As Integer
  117. Const RandI = 32767
  118. Const RandL = 2147483647
  119. Const RandS = 1E+10!
  120. Const RandD = 1E+16
  121. Dim Tmp  As String
  122. Sub Combo2_Click ()
  123.    Item = Val(Combo2.Text)
  124.    ItemFile = Val(Combo2.Text)
  125.    ItemMean = Val(Combo2.Text)
  126. End Sub
  127. Sub Command1_Click ()
  128.    Static Flag    As Integer
  129.    If (Flag = True) Then Exit Sub
  130.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  131.    cDisableFI Picture1
  132.    Flag = True
  133.    MousePointer = 11
  134.    Frame1.Visible = False
  135.    List1.Clear
  136.    List2.Clear
  137.    List1.FontBold = True
  138.    List2.FontBold = True
  139.    Label3.Caption = ""
  140.    DoEvents
  141.    Select Case Combo1.ListIndex
  142.       Case 0
  143.      Frame1.Visible = True
  144.      Call TestAddI
  145.       Case 1
  146.      Frame1.Visible = True
  147.      Call TestDeviationI
  148.       Case 2
  149.      Frame1.Visible = True
  150.      Call TestFillI
  151.       Case 3
  152.      Frame1.Visible = True
  153.      Call TestMaxI
  154.       Case 4
  155.      Frame1.Visible = True
  156.      Call TestMeanI
  157.       Case 5
  158.      Frame1.Visible = True
  159.      Call TestMinI
  160.       Case 6
  161.      Frame1.Visible = True
  162.      Call TestSetI
  163.       Case 7
  164.      Frame1.Visible = True
  165.      Call TestSumI
  166.       Case 8
  167.      Frame1.Visible = True
  168.      Call TestSortI
  169.       Case 9
  170.      Frame1.Visible = True
  171.      Call TestReverseSortI
  172.       Case 10
  173.      Call TestAddTime
  174.       Case 11
  175.      Call TestTimeBetween
  176.       Case 12
  177.      Call TestCheckTime
  178.       Case 13
  179.      Call TestHourTo
  180.       Case 14
  181.      Call TestWindowsIni
  182.       Case 15
  183.      Call TestWinINI1
  184.       Case 16
  185.      Call TestWinINI2
  186.       Case 17
  187.      Call TestWinINI3
  188.       Case 18
  189.      Call TestAllSubDir
  190.       Case 19
  191.      Call TestGetDriveCurrentDir
  192.       Case 20
  193.      Call TestGetDefaultCurrentDir
  194.       Case 21
  195.      Call TestChDir
  196.       Case 22
  197.      Call TestCountFiles
  198.       Case 23
  199.      Call TestCountDirectories
  200.       Case 24
  201.      Call TestKillFiles
  202.       Case 25
  203.      Call TestGetFullnameInEnv
  204.       Case 26
  205.      Call TestGetDiskSpace
  206.       Case 27
  207.      Call TestGetDiskUsed
  208.       Case 28
  209.      Call TestGetDiskFree
  210.       Case 29
  211.      Call TestKillDir
  212.       Case 30
  213.      Call TestRenameFile
  214.       Case 31
  215.      Call TestFileResetAllAttrib
  216.       Case 32
  217.      Call TestFileSetAllAttrib
  218.       Case 33
  219.      Call TestIsFileX
  220.       Case 34
  221.      Call TestSubDirectory
  222.       Case 35
  223.      Call TestUniqueFileName
  224.       Case 36
  225.      Call TestIsX
  226.       Case 37
  227.      Call TestOneCharFromLeft
  228.       Case 38
  229.      Call TestOneCharFromRight
  230.       Case 39
  231.      Call TestBlockCharFromLeft
  232.       Case 40
  233.      Call TestBlockCharFromRight
  234.       Case 41
  235.      Call TestCompact
  236.       Case 42
  237.      Call TestUncompact
  238.       Case 43
  239.      Call TestInsertChars
  240.       Case 44
  241.      Call TestRemoveBlockChar
  242.       Case 45
  243.      Call TestRemoveOneChar
  244.       Case 46
  245.      Call TestCompressTab
  246.       Case 47
  247.      Call TestExpandTab
  248.       Case 48
  249.      Call TestGiveBitPalindrome
  250.       Case 49
  251.      Call TestIsBitPalindrome
  252.       Case 50
  253.      Call TestInsertBlocksBy
  254.       Case 51
  255.      Call TestInsertBlocks
  256.       Case 52
  257.      Call TestResizeStringAndFill
  258.       Case 53
  259.      Call TestResizeString
  260.       Case 54
  261.      Call TestFilterBlocks
  262.       Case 55
  263.      Call TestFilterChars
  264.       Case 56
  265.      Call TestCheckChars
  266.       Case 57
  267.      Call TestChangeChars
  268.       Case 58
  269.      Call TestChangeCharsUntil
  270.       Case 59
  271.      Call TestReverse
  272.       Case 60
  273.      Call TestGetIn
  274.       Case 61
  275.      Call TestGetBlock
  276.       Case 62
  277.      Call TestCreateAndFill
  278.       Case 63
  279.      Call TestStringCRC32
  280.       Case 64
  281.      Call TestCompress
  282.       Case 65
  283.      Call TestEncrypt
  284.       Case 66
  285.      Call TestDecrypt
  286.       Case 67
  287.      Call TestFileCRC32
  288.       Case 68
  289.      Call TestLrc
  290.       Case 69
  291.      Call TestIsPalindrome
  292.       Case 70
  293.      Call TestCheckNumericity
  294.       Case 71
  295.      Call TestFill
  296.       Case 72
  297.      Call TestSetAllBits
  298.       Case 73
  299.      Call TestSetBit
  300.       Case 74
  301.      Call TestGetBit
  302.       Case 75
  303.      Call TestFindBitSet
  304.       Case 76
  305.      Call TestFindBitReset
  306.       Case 77
  307.      Call TestToggleBit
  308.       Case 78
  309.      Call TestToggleAllBits
  310.       Case 79
  311.      Call TestReverseAllBits
  312.       Case 80
  313.      Call TestReverseAllBitsByChar
  314.       Case 81
  315.      Call TestCreateBits
  316.       Case 82
  317.      Call TestAtoR
  318.       Case 83
  319.      Call TestRtoA
  320.       Case 84
  321.      Call TestCustomControls
  322.       Case 85
  323.      Call TestSwap
  324.       Case 86
  325.      Call TestMin
  326.       Case 87
  327.      Call TestMenuChange
  328.       Case 88
  329.      Call TestFilesSize
  330.       Case 89
  331.      Call TestClusterSize
  332.       Case 90
  333.      Call TestAscTime
  334.       Case 91
  335.      Call TestLanguage
  336.       Case 92
  337.      Call TestReadLanguage
  338.       Case 93
  339.      Call TestFileCmp
  340.       Case 94
  341.      Call TestFileCopy
  342.       Case 95
  343.      Call TestFileFilter
  344.       Case 96
  345.      Call TestFileFilterNot
  346.       Case 97
  347.      Call TestFileEncrypt
  348.       Case 98
  349.      Call TestFileCompressTab
  350.       Case 99
  351.      Call TestSplitPath
  352.       Case 100
  353.      Call TestFullPath
  354.       Case 101
  355.      Call TestMakePath
  356.       Case 102
  357.      Call TestMsgBox
  358.       Case 103
  359.      Call TestInpBox
  360.       Case 104
  361.      Call TestMixChars
  362.       Case 105
  363.      Call TestFileVersionInfo
  364.       Case 106
  365.      Call TestFileVersion
  366.       Case 107
  367.      Call TestFileLineCount
  368.       Case 108
  369.      Call TestFileToX
  370.       Case 109
  371.      Call TestBig
  372.       Case 110
  373.      Call TestBigNum
  374.       Case 111
  375.      Call TestSysMenuChange(LNG_FRENCH)
  376.       Case 112
  377.      Call TestSysMenuChange(LNG_DUTCH)
  378.       Case 113
  379.      Call TestSysMenuChange(LNG_GERMAN)
  380.       Case 114
  381.      Call TestSysMenuChange(LNG_ENGLISH)
  382.       Case 115
  383.      Call TestSysMenuChange(LNG_ITALIAN)
  384.       Case 116
  385.      Call TestSysMenuChange(LNG_SPANISH)
  386.       Case 117
  387.      Call TestFileMerge
  388.       Case 118
  389.      Call TestFileSR
  390.       Case 119
  391.      Call TestFileS
  392.       Case 120
  393.      Call TestPatternMatch
  394.       Case 121
  395.      Call TestPatternExtMatch
  396.       Case 122
  397.      Call TestMorse
  398.       Case 123
  399.      Call TestDriveType
  400.       Case 124
  401.      Call TestBaseConversion
  402.       Case 125
  403.      Call TestFileStatictics
  404.       Case 126
  405.      Call TestDAStr(True)
  406.       Case 127
  407.      Call TestDAL(True)
  408.       Case 128
  409.      Call TestDAType(True)
  410.       Case 129
  411.      Call TestDAStr(False)
  412.       Case 130
  413.      Call TestDAL(False)
  414.       Case 131
  415.      Call TestDAType(False)
  416.       Case 132
  417.      Call TestDAStr(1)
  418.       Case 133
  419.      Call TestDAL(1)
  420.       Case 134
  421.      Call TestDAType(1)
  422.       Case 135
  423.      Call TestDAStr(2)
  424.       Case 136
  425.      Call TestDAL(2)
  426.       Case 137
  427.      Call TestDAType(2)
  428.       Case 138
  429.      Call TestDAStr(3)
  430.       Case 139
  431.      Call TestDAL(3)
  432.       Case 140
  433.      Call TestDAType(3)
  434.       Case 141
  435.      Call TestDAStr(4)
  436.       Case 142
  437.      Call TestDAL(4)
  438.       Case 143
  439.      Call TestDAType(4)
  440.       Case 144
  441.      Call TestDAStr(5)
  442.       Case 145
  443.      Call TestDAL(5)
  444.       Case 146
  445.      Call TestDAType(5)
  446.       Case 147
  447.      Call TestDAStr(6)
  448.       Case 148
  449.      Call TestDAL(6)
  450.       Case 149
  451.      Call TestDAType(6)
  452.       Case 150
  453.      Call TestCloseAllEditForm
  454.       Case 151
  455.      Call TestHideAllEditForm
  456.       Case 152
  457.      Call TestHideDebugForm
  458.       Case 153
  459.      Call TestOrToken
  460.       Case 154
  461.      Call TestAndToken
  462.       Case 155
  463.      Call TestWalkThruWindow
  464.       Case 156
  465.      Call TestSerial
  466.       Case 157
  467.      Call TestTimer
  468.       Case 158
  469.      Call TestAlign
  470.       Case 159
  471.      Call TestToken
  472.       Case 160
  473.      Call TestArrayOnDisk
  474.       Case 161
  475.      Call TestArrayStringOnDisk
  476.       Case 162
  477.      Call TestCnvAE
  478.       Case 163
  479.      Call TestCombination
  480.       Case 164
  481.      Frame1.Visible = True
  482.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  483.       Case 165
  484.      Frame1.Visible = True
  485.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  486.       Case 166
  487.      Frame1.Visible = True
  488.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  489.       Case 167
  490.      Frame1.Visible = True
  491.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  492.       Case 168
  493.      Frame1.Visible = True
  494.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  495.       Case 169
  496.      Frame1.Visible = True
  497.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  498.       Case 170
  499.      Frame1.Visible = True
  500.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  501.       Case 171
  502.      Frame1.Visible = True
  503.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  504.       Case 172
  505.      Call TestRegistrationKey
  506.       Case 173
  507.      Call TestMD5
  508.       Case 174
  509.      Call TestProperName
  510.       Case 175
  511.      Call TestMatrixAdd
  512.       Case 176
  513.      Call TestMatrixSub
  514.       Case 177
  515.      Call TestMatrixCopy
  516.       Case 178
  517.      Call TestMatrixMul
  518.       Case 179
  519.      Call TestMatrixTranspose
  520.       Case 180
  521.      Call TestMatrixCompare
  522.       Case 181
  523.      Call Test2D
  524.       Case 182
  525.      Call Test3D
  526.       Case 183
  527.      Call TestProperName2
  528.       Case 184
  529.      Call TestDOSMediaID
  530.       Case 185
  531.      Call TestFileCompress
  532.       Case 186
  533.      Call TestStringCompress
  534.       Case 187
  535.      Frame1.Visible = True
  536.      Call TestFillIncrI
  537.       Case 188
  538.      Call TestMatrixDet
  539.       Case 189
  540.      Call TestMatrixInv
  541.       Case 190
  542.      Call TestMatrixMinCo
  543.       Case 191
  544.      Call TestMatrixSymToeplitz
  545.       Case 192
  546.      Call TestFloppyInfo
  547.       Case 193
  548.      Call TestDOSGetVolLabel
  549.       Case 194
  550.      Call TestAddTwoTimes
  551.       Case 195
  552.      Call TestMDA(True)
  553.       Case 196
  554.      Call TestMDA(False)
  555.       Case 197
  556.      Call TestMDA(1)
  557.       Case 198
  558.      Call TestMDA(2)
  559.       Case 199
  560.      Call TestMDA(3)
  561.       Case 200
  562.      Call TestMDA(4)
  563.       Case 201
  564.      Call TestMDA(5)
  565.       Case 202
  566.      Call TestMDA(6)
  567.       Case 203
  568.      Call TestDate
  569.       Case 204
  570.      Call TestVersion
  571.       Case 205
  572.      Call TestGetInR
  573.       Case 206
  574.      Call TestBigString01
  575.       Case 207
  576.      Call TestHMAStr(True)
  577.       Case 208
  578.      Call TestHMAL(True)
  579.       Case 209
  580.      Call TestHMAType(True)
  581.       Case 210
  582.      Call TestHMAStr(1)
  583.       Case 211
  584.      Call TestHMAL(1)
  585.       Case 212
  586.      Call TestHMAType(1)
  587.       Case 213
  588.      Call TestHMAStr(2)
  589.       Case 214
  590.      Call TestHMAL(2)
  591.       Case 215
  592.      Call TestHMAType(2)
  593.       Case 216
  594.      Call TestHMAStr(3)
  595.       Case 217
  596.      Call TestHMAL(3)
  597.       Case 218
  598.      Call TestHMAType(3)
  599.       Case 219
  600.      Call TestHMAStr(4)
  601.       Case 220
  602.      Call TestHMAL(4)
  603.       Case 221
  604.      Call TestHMAType(4)
  605.       Case 222
  606.      Call TestHMAStr(5)
  607.       Case 223
  608.      Call TestHMAL(5)
  609.       Case 224
  610.      Call TestHMAType(5)
  611.       Case 225
  612.      Call TestHMAStr(6)
  613.       Case 226
  614.      Call TestHMAL(6)
  615.       Case 227
  616.      Call TestHMAType(6)
  617.       Case 228
  618.      Frame1.Visible = True
  619.      Call TestArrayLB
  620.       Case 229
  621.      Call TestTime
  622.       Case 230
  623.      Call TestControl3D
  624.       Case 231
  625.      Call TestFileChangeChars
  626.    End Select
  627.    MousePointer = 0
  628.    Flag = False
  629.    cEnableFI Picture1
  630. End Sub
  631. Sub CreateFile ()
  632.    Dim j       As Integer
  633.    j = cFileResetAllAttrib("TEST.DAT")
  634.    Close #1
  635.    Open "TEST.DAT" For Output As #1
  636.    Print #1, "This is a file test for time2win.dll"
  637.    Print #1, "This is a file test for time2win.dll"
  638.    Print #1, "This is a file test for time2win.dll"
  639.    Print #1, "This is a file test for time2win.dll"
  640.    Print #1, "This is a file test for time2win.dll"
  641.    Print #1, "This is a file test for time2win.dll"
  642.    Print #1, "This is a file test for time2win.dll"
  643.    Close #1
  644.    j = cFileResetAllAttrib("TEST.DAT")
  645. End Sub
  646. Sub DefCnv ()
  647.    Dim i       As Integer
  648.    Dim j       As Integer
  649.    Dim Tmp     As String
  650.    Close #1
  651.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  652.    Close #2
  653.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  654.    i = 0
  655.    While Not EOF(1)
  656.       Line Input #1, Tmp
  657.       i = i + 1
  658.       Tmp = cCompress(Tmp)
  659.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  660.       Print #2, Tab(60); "@" & i
  661.    Wend
  662.    Close #1
  663.    Close #2
  664. End Sub
  665. Sub Form_Load ()
  666.    Combo2.AddItem "5"
  667.    Combo2.AddItem "10"
  668.    Combo2.AddItem "50"
  669.    Combo2.AddItem "100"
  670.    Combo2.AddItem "500"
  671.    Combo2.AddItem "1000"
  672.    Combo2.AddItem "5000"
  673.    Combo1.AddItem "Array routines : Add"
  674.    Combo1.AddItem "Array routines : Deviation"
  675.    Combo1.AddItem "Array routines : Fill"
  676.    Combo1.AddItem "Array routines : Max"
  677.    Combo1.AddItem "Array routines : Mean"
  678.    Combo1.AddItem "Array routines : Min"
  679.    Combo1.AddItem "Array routines : Set"
  680.    Combo1.AddItem "Array routines : Sum"
  681.    Combo1.AddItem "Array routines : Sort"
  682.    Combo1.AddItem "Array routines : ReverseSort"
  683.    Combo1.AddItem "Time routines : AddTime"
  684.    Combo1.AddItem "Time routines : TimeBetween"
  685.    Combo1.AddItem "Time routines : CheckTime"
  686.    Combo1.AddItem "Time routines : HourTo"
  687.    Combo1.AddItem "WIN.INI routines : some separators"
  688.    Combo1.AddItem "WIN.INI routines : devices"
  689.    Combo1.AddItem "WIN.INI routines : printerports"
  690.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  691.    Combo1.AddItem "Files routines : AllSubDirectories"
  692.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  693.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  694.    Combo1.AddItem "Files routines : ChDir"
  695.    Combo1.AddItem "Files routines : CountFiles"
  696.    Combo1.AddItem "Files routines : CountDirectories"
  697.    Combo1.AddItem "Files routines : KillFiles"
  698.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  699.    Combo1.AddItem "Files routines : GetDiskSpace"
  700.    Combo1.AddItem "Files routines : GetDiskUsed"
  701.    Combo1.AddItem "Files routines : GetDiskFree"
  702.    Combo1.AddItem "Files routines : KillDir"
  703.    Combo1.AddItem "Files routines : RenameFile"
  704.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  705.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  706.    Combo1.AddItem "Files routines : IsFileX"
  707.    Combo1.AddItem "Files routines : SubDirectory"
  708.    Combo1.AddItem "Files routines : UniqueFileName"
  709.    Combo1.AddItem "String routines : IsX"
  710.    Combo1.AddItem "String routines : OneCharFromLeft"
  711.    Combo1.AddItem "String routines : OneCharFromRight"
  712.    Combo1.AddItem "String routines : BlockCharFromLeft"
  713.    Combo1.AddItem "String routines : BlockCharFromRight"
  714.    Combo1.AddItem "String routines : Compact"
  715.    Combo1.AddItem "String routines : Uncompact"
  716.    Combo1.AddItem "String routines : InsertChars"
  717.    Combo1.AddItem "String routines : RemoveBlockChar"
  718.    Combo1.AddItem "String routines : RemoveOneChar"
  719.    Combo1.AddItem "String routines : CompressTab"
  720.    Combo1.AddItem "String routines : ExpandTab"
  721.    Combo1.AddItem "String routines : GiveBitPalindrome"
  722.    Combo1.AddItem "String routines : IsBitPalindrome"
  723.    Combo1.AddItem "String routines : InsertBlocksBy"
  724.    Combo1.AddItem "String routines : InsertBlocks"
  725.    Combo1.AddItem "String routines : ResizeStringAndFill"
  726.    Combo1.AddItem "String routines : ResizeString"
  727.    Combo1.AddItem "String routines : FilterBlocks"
  728.    Combo1.AddItem "String routines : FilterChars"
  729.    Combo1.AddItem "String routines : CheckChars"
  730.    Combo1.AddItem "String routines : ChangeChars"
  731.    Combo1.AddItem "String routines : ChangeCharsUntil"
  732.    Combo1.AddItem "String routines : Reverse"
  733.    Combo1.AddItem "String routines : GetIn"
  734.    Combo1.AddItem "String routines : GetBlock"
  735.    Combo1.AddItem "String routines : CreateAndFill"
  736.    Combo1.AddItem "String routines : StringCRC32"
  737.    Combo1.AddItem "String routines : Compress"
  738.    Combo1.AddItem "String routines : Encrypt"
  739.    Combo1.AddItem "String routines : Decrypt"
  740.    Combo1.AddItem "Files  routines : FileCRC32"
  741.    Combo1.AddItem "String routines : Lrc"
  742.    Combo1.AddItem "String routines : IsPalindrome"
  743.    Combo1.AddItem "String routines : CheckNumericity"
  744.    Combo1.AddItem "String routines : Fill"
  745.    Combo1.AddItem "String routines : SetAllBits"
  746.    Combo1.AddItem "String routines : SetBit"
  747.    Combo1.AddItem "String routines : GetBit"
  748.    Combo1.AddItem "String routines : FindBitSet"
  749.    Combo1.AddItem "String routines : FindBitReset"
  750.    Combo1.AddItem "String routines : ToggleBit"
  751.    Combo1.AddItem "String routines : ToggleAllBits"
  752.    Combo1.AddItem "String routines : ReverseAllBits"
  753.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  754.    Combo1.AddItem "String routines : CreateBits"
  755.    Combo1.AddItem "String routines : ArabicToRoman"
  756.    Combo1.AddItem "String routines : RomanToArabic"
  757.    Combo1.AddItem "Custom controls"
  758.    Combo1.AddItem "Swap routines"
  759.    Combo1.AddItem "Min,Max routines"
  760.    Combo1.AddItem "System menu change : French"
  761.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  762.    Combo1.AddItem "Files routines : GetClusterSize"
  763.    Combo1.AddItem "Language routines : GetAscTime"
  764.    Combo1.AddItem "Language routines : Days and months name"
  765.    Combo1.AddItem "Language routines : Read Control Language"
  766.    Combo1.AddItem "File routines : Compare"
  767.    Combo1.AddItem "File routines : File Copy"
  768.    Combo1.AddItem "File routines : File Filter"
  769.    Combo1.AddItem "File routines : File Filter Not"
  770.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  771.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  772.    Combo1.AddItem "File routines : SplitPath"
  773.    Combo1.AddItem "File routines : FullPath"
  774.    Combo1.AddItem "File routines : MakePath"
  775.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  776.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  777.    Combo1.AddItem "String routines : MixChars"
  778.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  779.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  780.    Combo1.AddItem "File routines : FileLineCount"
  781.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  782.    Combo1.AddItem "Misc. routines : Big Double"
  783.    Combo1.AddItem "Misc. routines : Big Numbers"
  784.    Combo1.AddItem "System menu change (one call) : French"
  785.    Combo1.AddItem "System menu change (one call) : Dutch"
  786.    Combo1.AddItem "System menu change (one call) : German"
  787.    Combo1.AddItem "System menu change (one call) : English"
  788.    Combo1.AddItem "System menu change (one call) : Italian"
  789.    Combo1.AddItem "System menu change (one call) : Spanish"
  790.    Combo1.AddItem "File routines : FileMerge"
  791.    Combo1.AddItem "File routines : FileSearchAndReplace"
  792.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  793.    Combo1.AddItem "String routines : PatternMatch"
  794.    Combo1.AddItem "String routines : PatternExtMatch"
  795.    Combo1.AddItem "Misc. routines : Morse"
  796.    Combo1.AddItem "DOS routines : GetDriveType"
  797.    Combo1.AddItem "Misc. routines : Base conversion"
  798.    Combo1.AddItem "File routines : FileStatistics"
  799.    Combo1.AddItem "Disk Array routines : (create) String"
  800.    Combo1.AddItem "Disk Array routines : (create) Long"
  801.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  802.    Combo1.AddItem "Disk Array routines : (use) String"
  803.    Combo1.AddItem "Disk Array routines : (use) Long"
  804.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  805.    Combo1.AddItem "Disk Array routines : (clear) String"
  806.    Combo1.AddItem "Disk Array routines : (clear) Long"
  807.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  808.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  809.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  810.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  811.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  812.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  813.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  814.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  815.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  816.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  817.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  818.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  819.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  820.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  821.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  822.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  823.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  824.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  825.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  826.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  827.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  828.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  829.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  830.    Combo1.AddItem "Timer functions : Extended Timer"
  831.    Combo1.AddItem "String routines : Align"
  832.    Combo1.AddItem "String routines : Token"
  833.    Combo1.AddItem "Array routines : ArrayOnDisk"
  834.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  835.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  836.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  837.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  838.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  839.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  840.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  841.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  842.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  843.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  844.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  845.    Combo1.AddItem "Misc. routines : RegistrationKey"
  846.    Combo1.AddItem "Misc. routines : HashMD5"
  847.    Combo1.AddItem "String routines : ProperName"
  848.    Combo1.AddItem "Matrix routines : MatrixAdd"
  849.    Combo1.AddItem "Matrix routines : MatrixSub"
  850.    Combo1.AddItem "Matrix routines : MatrixCopy"
  851.    Combo1.AddItem "Matrix routines : MatrixMul"
  852.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  853.    Combo1.AddItem "Matrix routines : MatrixCompare"
  854.    Combo1.AddItem "2-D geometry"
  855.    Combo1.AddItem "3-D geometry"
  856.    Combo1.AddItem "String routines : ProperName2"
  857.    Combo1.AddItem "DOS routines : DOSMediaID"
  858.    Combo1.AddItem "File routines : File Compress/Expand"
  859.    Combo1.AddItem "String routines : String Compress/Expand"
  860.    Combo1.AddItem "Array routines : FillIncrI"
  861.    Combo1.AddItem "Matrix routines : MatrixDet"
  862.    Combo1.AddItem "Matrix routines : MatrixInv"
  863.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  864.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  865.    Combo1.AddItem "DOS routines : FloppyInfo"
  866.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  867.    Combo1.AddItem "Time routines : AddTwoTimes"
  868.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  869.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  870.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  871.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  872.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  873.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  874.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  875.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  876.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  877.    Combo1.AddItem "Misc. routines : GetVersion"
  878.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  879.    Combo1.AddItem "Huge String"
  880.    Combo1.AddItem "Huge Memory Array : (create) String"
  881.    Combo1.AddItem "Huge Memory Array : (create) Long"
  882.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  883.    Combo1.AddItem "Huge Memory Array : (clear) String"
  884.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  885.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  886.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  887.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  888.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  889.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  890.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  891.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  892.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  893.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  894.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  895.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  896.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  897.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  898.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  899.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  900.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  901.    Combo1.AddItem "Array routines : ArrayToListBox"
  902.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  903.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  904.    Combo1.AddItem "File routines : FileChangeChars"
  905.    Combo1.ListIndex = Combo1.ListCount - 1
  906.    Combo2.ListIndex = 1
  907.    Item = Val(Combo2.Text)
  908.    ItemFile = Val(Combo2.Text)
  909.    ItemMean = Val(Combo2.Text)
  910.    Text1.Text = "A/BC/DEF/GHIJ"
  911. End Sub
  912. Sub Form_Paint ()
  913.    Dim i As Integer
  914.    Dim n As Integer
  915.    n = frmT2W.Controls.Count - 1
  916.    For i = 0 To n
  917.       If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  918.      Call c3D(frmT2W.Controls(i), 0, 0)
  919.       End If
  920.    Next i
  921. End Sub
  922. Sub Form_Unload (Cancel As Integer)
  923.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  924. End Sub
  925. Sub Label2_DblClick ()
  926.    Dim i       As Integer
  927.    Dim n       As Integer
  928.    n = Combo1.ListCount - 1
  929.    For i = 0 To n
  930.       Combo1.ListIndex = i
  931.       DoEvents
  932.       Call Command1_Click
  933.       DoEvents
  934.    Next i
  935. End Sub
  936. Sub Test2D ()
  937.    Dim Tmp1       As String
  938.    Dim i          As Integer
  939.    Dim j          As Integer
  940.    Dim k          As Double
  941.    Dim u          As tagVECTOR2
  942.    Dim v          As tagVECTOR2
  943.    Dim w          As tagVECTOR2
  944.    u.x = 1
  945.    u.y = 1
  946.    v.x = 3
  947.    v.y = 3
  948.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  949.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & Chr$(13) & Chr$(13)
  950.    Call cV2Add(u, v, w)
  951.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  952.    Call cV2Sub(u, v, w)
  953.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  954.    Call cV2Mul(u, v, w)
  955.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  956.    k = cV2Dot(u, v)
  957.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  958.    k = cV2Length(v)
  959.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  960.    k = cV2SegmentLength(u, v)
  961.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  962.    Call cV2Normalized(u)
  963.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  964.           
  965.    cStartBasisTimer
  966.    For i = 1 To ItemFile
  967.       Call cV2Add(u, v, w)
  968.    Next i
  969.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  970.    Label3.Caption = Tmp1
  971. End Sub
  972. Sub Test3D ()
  973.    Dim Tmp1       As String
  974.    Dim i          As Integer
  975.    Dim j          As Integer
  976.    Dim k          As Double
  977.    Dim u          As tagVECTOR3
  978.    Dim v          As tagVECTOR3
  979.    Dim w          As tagVECTOR3
  980.    u.x = 1
  981.    u.y = 1
  982.    u.z = 1
  983.    v.x = 3
  984.    v.y = 3
  985.    v.z = 3
  986.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  987.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & Chr$(13) & Chr$(13)
  988.    Call cV3Add(u, v, w)
  989.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  990.    Call cV3Sub(u, v, w)
  991.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  992.    Call cV3Mul(u, v, w)
  993.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  994.    k = cV3Dot(u, v)
  995.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  996.    k = cV3Length(v)
  997.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  998.    k = cV3SegmentLength(u, v)
  999.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1000.    Call cV3Normalized(u)
  1001.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1002.           
  1003.    cStartBasisTimer
  1004.    For i = 1 To ItemFile
  1005.       Call cV3Add(u, v, w)
  1006.    Next i
  1007.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1008.    Label3.Caption = Tmp1
  1009. End Sub
  1010. Sub TestAddI ()
  1011.    Dim title      As String
  1012.    Dim Tmp        As String
  1013.    Dim Tmp1       As String
  1014.    Dim Tmp2       As String
  1015.    Dim i          As Integer
  1016.    Dim j          As Integer
  1017.    Dim m          As Double
  1018.    ReDim array(ItemMean) As Integer
  1019.    Randomize Timer
  1020.    For i = LBound(array) To UBound(array)
  1021.       array(i) = 0
  1022.       List1.AddItem "" & array(i)
  1023.    Next i
  1024.    j = cAddI(array(), 10)
  1025.    For i = LBound(array) To UBound(array)
  1026.       List2.AddItem "" & array(i)
  1027.    Next i
  1028.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  1029.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  1030.    cStartBasisTimer
  1031.    For i = 1 To ItemFile
  1032.       j = cAddI(array(), 1)
  1033.    Next i
  1034.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1035.    Label3.Caption = Tmp1
  1036. End Sub
  1037. Sub TestAddTime ()
  1038.    Dim title      As String
  1039.    Dim Tmp        As String
  1040.    Dim Tmp1       As String
  1041.    Dim Tmp2       As String
  1042.    Dim i          As Integer
  1043.    Dim j          As Integer
  1044.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & Chr$(13) & Chr$(13)
  1045.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & Chr$(13) & Chr$(13)
  1046.    cStartBasisTimer
  1047.    For i = 1 To Item
  1048.       j = cAddTime(1439 + 2)
  1049.    Next i
  1050.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1051.    Label3.Caption = Tmp1
  1052. End Sub
  1053. Sub TestAddTwoTimes ()
  1054.    Dim title      As String
  1055.    Dim Tmp        As String
  1056.    Dim Tmp1       As String
  1057.    Dim Tmp2       As String
  1058.    Dim i          As Integer
  1059.    Dim j          As Integer
  1060.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & Chr$(13) & Chr$(13)
  1061.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & Chr$(13) & Chr$(13)
  1062.    cStartBasisTimer
  1063.    For i = 1 To Item
  1064.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1065.    Next i
  1066.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1067.    Label3.Caption = Tmp1
  1068. End Sub
  1069. Sub TestAlign ()
  1070.    Dim title      As String
  1071.    Dim Tmp        As String
  1072.    Dim Tmp1       As String
  1073.    Dim Tmp2       As String
  1074.    Dim i          As Integer
  1075.    Dim j          As Integer
  1076.    Tmp = "TIME TO WIN"
  1077.    title = "Left Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1078.    Tmp1 = title & cAlign(Tmp, -1, 30) & "'" & Chr$(13) & Chr$(13)
  1079.    title = "Center Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1080.    Tmp1 = Tmp1 & title & cAlign(Tmp, 0, 30) & "'" & Chr$(13) & Chr$(13)
  1081.    title = "Right Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1082.    Tmp1 = Tmp1 & title & cAlign(Tmp, 1, 30) & "'" & Chr$(13) & Chr$(13)
  1083.    j = cTimerOpen()
  1084.    i = cTimerStart(j)
  1085.    For i = 1 To Item
  1086.       Tmp2 = cAlign(Tmp, 0, 30)
  1087.    Next i
  1088.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1089.    i = cTimerClose(j)
  1090.    Label3.Caption = Tmp1
  1091. End Sub
  1092. Sub TestAllSubDir ()
  1093.    Dim n       As Integer
  1094.    Dim Tmp     As String
  1095.    n = -1
  1096.    Tmp = cAllSubDirectories("C:", n)
  1097.    Label3.Caption = "Directories founden on drive C are " & n & Chr$(13) & Tmp
  1098. End Sub
  1099. Sub TestAndToken ()
  1100.    Dim title      As String
  1101.    Dim Tmp        As String
  1102.    Dim Tmp1       As String
  1103.    Dim Tmp2       As String
  1104.    Dim i          As Integer
  1105.    Dim j          As Integer
  1106.    Tmp = "FOX|OVER|THE"
  1107.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1108.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1109.    Tmp = "quick|jumps|the"
  1110.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1111.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1112.    Tmp = "FOX\OVER\THE"
  1113.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1114.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1115.    Tmp = "quick\jumps\the"
  1116.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1117.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1118.    Tmp = "FOX/OVER/THE"
  1119.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1120.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1121.    Tmp = "quick\JUMPS\the"
  1122.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1123.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1124.    Tmp = LCase$("quick\jumps\THE")
  1125.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1126.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1127.    cStartBasisTimer
  1128.    For i = 1 To Item
  1129.       j = cAndToken(Tmp2, Tmp)
  1130.    Next i
  1131.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1132.    Label3.Caption = Tmp1
  1133. End Sub
  1134. Sub TestArrayLB ()
  1135.    Dim title      As String
  1136.    Dim Tmp        As String
  1137.    Dim Tmp1       As String
  1138.    Dim Tmp2       As String
  1139.    Dim i          As Long
  1140.    Dim j          As Long
  1141.    Dim n1         As Long
  1142.    Dim n2         As Long
  1143.    Dim m1         As Integer
  1144.    Dim m2         As Integer
  1145.    m1 = -99
  1146.    m2 = 99
  1147.    ReDim AD(m1 To m2)         As tagVARSTRING
  1148.    Randomize Timer
  1149.    ' initialization because we use ReDim without Global definition
  1150.    For i = m1 To m2
  1151.       If ((i Mod 2) = 0) Then
  1152.      AD(i).Contents = Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1153.       Else
  1154.      AD(i).Contents = Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1155.       End If
  1156.    Next i
  1157.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & Chr$(13)
  1158.    j = cArrayToListBox(List1.hWnd, AD())
  1159.    j = cArrayToListBox(List2.hWnd, AD())
  1160.    cStartBasisTimer
  1161.    For i = 1 To Item
  1162.       j = cArrayToListBox(List1.hWnd, AD())
  1163.    Next i
  1164.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1165.    Label3.Caption = Tmp1
  1166. End Sub
  1167. Sub TestArrayOnDisk ()
  1168.    Dim title      As String
  1169.    Dim Tmp        As String
  1170.    Dim Tmp1       As String
  1171.    Dim Tmp2       As String
  1172.    Dim i          As Long
  1173.    Dim j          As Long
  1174.    Dim n1         As Long
  1175.    Dim n2         As Long
  1176.    Dim m1         As Integer
  1177.    Dim m2         As Integer
  1178.    m1 = -9999
  1179.    m2 = 9999
  1180.    ReDim AD(m1 To m2, 0 To 1)   As Long
  1181.    Randomize Timer
  1182.    n1 = Int(1234567890 * Rnd)
  1183.    n2 = -Int(987654321 * Rnd)
  1184.    ' initialization because we use ReDim without Global definition
  1185.    For i = m1 To m2
  1186.       AD(i, 0) = n1
  1187.       AD(i, 1) = n2
  1188.    Next i
  1189.    Tmp = "test.dat"
  1190.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & Chr$(13)
  1191.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & Chr$(13)
  1192.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & Chr$(13)
  1193.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & Chr$(13) & Chr$(13)
  1194.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1195.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1196.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1197.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1198.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1199.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & Chr$(13) & Chr$(13)
  1200.    For i = m1 To m2
  1201.       AD(i, 0) = 0
  1202.       AD(i, 1) = 0
  1203.    Next i
  1204.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1205.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1206.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1207.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1208.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1209.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1210.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1211.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1212.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1213.    cStartBasisTimer
  1214.    For i = 1 To Item
  1215.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1216.    Next i
  1217.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1218.    Label3.Caption = Tmp1
  1219. End Sub
  1220. Sub TestArrayStringOnDisk ()
  1221.    Dim title      As String
  1222.    Dim Tmp        As String
  1223.    Dim Tmp1       As String
  1224.    Dim Tmp2       As String
  1225.    Dim i          As Long
  1226.    Dim j          As Long
  1227.    Dim n1         As Long
  1228.    Dim n2         As Long
  1229.    Dim R          As Long
  1230.    Dim m1         As Integer
  1231.    Dim m2         As Integer
  1232.    m1 = -999
  1233.    m2 = 4000
  1234.    ReDim AD(m1 To m2)         As tagVARSTRING
  1235.    ' initialization because we use ReDim without Global definition
  1236.    For i = m1 To m2
  1237.       AD(i).Contents = Space$(256)
  1238.    Next i
  1239.    Randomize Timer
  1240.    Tmp = "c:\autoexec.bat"
  1241.    Tmp2 = "c:\autoexec.tab"
  1242.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, R) & "'" & Chr$(13)
  1243.    Tmp1 = Tmp1 & "   The 7 (on " & R & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1244.    For i = 0 To 6
  1245.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  1246.    Next i
  1247.    Tmp1 = Tmp1 & Chr$(13) & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, R) & "'" & Chr$(13) & Chr$(13)
  1248.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, R) & "'" & Chr$(13)
  1249.    Tmp1 = Tmp1 & "   The 7 (on " & R & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1250.    For i = 0 To 6
  1251.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  1252.    Next i
  1253.    cStartBasisTimer
  1254.    For i = 1 To Item
  1255.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, R)
  1256.    Next i
  1257.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1258.    Label3.Caption = Tmp1
  1259. End Sub
  1260. Sub TestAscTime ()
  1261.    Dim title      As String
  1262.    Dim Tmp        As String
  1263.    Dim Tmp1       As String
  1264.    Dim Tmp2       As String
  1265.    Dim i          As Integer
  1266.    Dim j          As Integer
  1267.    Dim k          As Long
  1268.    Dim ErrCode    As Integer
  1269.    Tmp1 = ""
  1270.    For i = LNG_FRENCH To LNG_SPANISH
  1271.       Tmp1 = Tmp1 + cGetAscTime(i) & Chr$(13)
  1272.    Next i
  1273.    Tmp1 = Tmp1 + Chr$(13)
  1274.    cStartBasisTimer
  1275.    For i = 1 To Item
  1276.       Tmp = cGetAscTime(LNG_FRENCH)
  1277.    Next i
  1278.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1279.    Label3.Caption = Tmp1
  1280. End Sub
  1281. Sub TestAtoR ()
  1282.    Dim Tmp        As Integer
  1283.    Dim Tmp1       As String
  1284.    Tmp = Year(Int(Now))
  1285.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1286.    Tmp = Year(Int(Now)) - 1
  1287.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1288.    Tmp = Year(Int(Now)) + 1
  1289.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1290.    Label3.Caption = Tmp1
  1291. End Sub
  1292. Sub TestBaseConversion ()
  1293.    Dim title      As String
  1294.    Dim Tmp        As String
  1295.    Dim Tmp1       As String
  1296.    Dim Tmp2       As String
  1297.    Dim i          As Integer
  1298.    Dim j          As Integer
  1299.    Dim k          As Long
  1300.    Dim ErrCode    As Integer
  1301.    Tmp1 = ""
  1302.    For i = 2 To 20
  1303.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & Chr$(13)
  1304.    Next i
  1305.    Tmp1 = Tmp1 + Chr$(13)
  1306.    cStartBasisTimer
  1307.    For i = 1 To Item
  1308.       Tmp = cBaseConversion("123456789", 10, 10)
  1309.    Next i
  1310.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1311.    Label3.Caption = Tmp1
  1312. End Sub
  1313. Sub TestBetween ()
  1314.    Dim title      As String
  1315.    Dim Tmp        As String
  1316.    Dim Tmp1       As String
  1317.    Dim Tmp2       As String
  1318.    Dim i          As Integer
  1319.    Dim j          As Integer
  1320.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  1321.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  1322.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  1323.    cStartBasisTimer
  1324.    For i = 1 To Item
  1325.       j = cBetween(720, 0, 1439)
  1326.    Next i
  1327.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1328.    Label3.Caption = Tmp1
  1329. End Sub
  1330. Sub TestBig ()
  1331.    Dim title      As String
  1332.    Dim Tmp        As String
  1333.    Dim Tmp1       As String
  1334.    Dim Tmp2       As String
  1335.    Dim Tmp3       As String
  1336.    Dim i          As Integer
  1337.    Dim j          As Integer
  1338.    Dim m1         As Double
  1339.    Dim m2         As Double
  1340.    m1 = 123456789012345#
  1341.    m2 = 987654321098765#
  1342.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & Chr$(13)
  1343.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1344.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1345.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & Chr$(13)
  1346.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1347.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1348.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & Chr$(13)
  1349.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1350.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1351.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & Chr$(13)
  1352.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13) & Chr$(13)
  1353.    cStartBasisTimer
  1354.    For i = 1 To ItemFile
  1355.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1356.    Next i
  1357.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1358.    Label3.Caption = Tmp1
  1359. End Sub
  1360. Sub TestBigNum ()
  1361.    Dim title      As String
  1362.    Dim Tmp        As String
  1363.    Dim Tmp1       As String
  1364.    Dim Tmp2       As String
  1365.    Dim Tmp3       As String
  1366.    Dim Tmp4       As String
  1367.    Dim i          As Integer
  1368.    Dim j          As Integer
  1369.    Dim m          As Double
  1370.    Tmp3 = "00001234567890123456789012345678901"
  1371.    Tmp4 = "00009876543210987654321098765432100"
  1372.    Tmp1 = Tmp1 & "X = " & Tmp3 & Chr$(13)
  1373.    Tmp1 = Tmp1 & "Y = " & Tmp4 & Chr$(13) & Chr$(13)
  1374.    Tmp = Tmp3
  1375.    Tmp2 = Tmp4
  1376.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1377.    Tmp = Tmp3
  1378.    Tmp2 = "-" & Tmp4
  1379.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1380.    Tmp = "-" & Tmp3
  1381.    Tmp2 = Tmp4
  1382.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1383.    Tmp = "-" & Tmp3
  1384.    Tmp2 = "-" & Tmp4
  1385.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1386.    Tmp = Tmp3
  1387.    Tmp2 = Tmp4
  1388.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1389.    Tmp = Tmp3
  1390.    Tmp2 = "-" & Tmp4
  1391.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1392.    Tmp = "-" & Tmp3
  1393.    Tmp2 = Tmp4
  1394.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1395.    Tmp = "-" & Tmp3
  1396.    Tmp2 = "-" & Tmp4
  1397.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1398.    Tmp = Tmp3
  1399.    Tmp2 = Tmp4
  1400.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1401.    Tmp = Tmp3
  1402.    Tmp2 = "-" & Tmp4
  1403.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1404.    Tmp = "-" & Tmp3
  1405.    Tmp2 = Tmp4
  1406.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1407.    Tmp = "-" & Tmp3
  1408.    Tmp2 = "-" & Tmp4
  1409.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1410.    cStartBasisTimer
  1411.    For i = 1 To ItemFile
  1412.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1413.    Next i
  1414.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1415.    cStartBasisTimer
  1416.    For i = 1 To ItemFile
  1417.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1418.    Next i
  1419.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1420.    cStartBasisTimer
  1421.    For i = 1 To ItemFile
  1422.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1423.    Next i
  1424.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1425.    Label3.Caption = Tmp1
  1426. End Sub
  1427. Sub TestBigString01 ()
  1428.    Dim Tmp1       As String
  1429.    Dim m1         As Integer
  1430.    Dim p1         As Integer
  1431.    Tmp1 = "Create a big string of 512 Kb is "
  1432.    m1 = cHugeStrCreate(512 * 1024&)
  1433.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & Chr$(13)
  1434.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & Chr$(13)
  1435.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & Chr$(13)
  1436.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1437.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & Chr$(13)
  1438.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1439.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1440.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & Chr$(13)
  1441.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1442.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1443.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & Chr$(13)
  1444.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1445.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & Chr$(13)
  1446.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & Chr$(13)
  1447.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1448.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1449.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & Chr$(13)
  1450.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & Chr$(13)
  1451.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1452.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1453.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & Chr$(13)
  1454.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & Chr$(13)
  1455.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1456.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & Chr$(13)
  1457.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1458.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & Chr$(13)
  1459.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  1460.    p1 = cHugeStrFree(m1)
  1461.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & Chr$(13)
  1462.    Label3.Caption = Tmp1
  1463. End Sub
  1464. Sub TestBlockCharFromLeft ()
  1465.    Dim title      As String
  1466.    Dim Tmp        As String
  1467.    Dim Tmp1       As String
  1468.    Dim Tmp2       As String
  1469.    Dim i          As Integer
  1470.    Dim j          As Integer
  1471.    Tmp = Text1.Text
  1472.    title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1473.    Tmp = Text1.Text
  1474.    Tmp1 = title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  1475.    cStartBasisTimer
  1476.    For i = 1 To Item
  1477.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  1478.    Next i
  1479.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1480.    Label3.Caption = Tmp1
  1481. End Sub
  1482. Sub TestBlockCharFromRight ()
  1483.    Dim title      As String
  1484.    Dim Tmp        As String
  1485.    Dim Tmp1       As String
  1486.    Dim Tmp2       As String
  1487.    Dim i          As Integer
  1488.    Dim j          As Integer
  1489.    Tmp = Text1.Text
  1490.    title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1491.    Tmp = Text1.Text
  1492.    Tmp1 = title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  1493.    cStartBasisTimer
  1494.    For i = 1 To Item
  1495.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  1496.    Next i
  1497.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1498.    Label3.Caption = Tmp1
  1499. End Sub
  1500. Sub TestChangeChars ()
  1501.    Dim title      As String
  1502.    Dim Tmp        As String
  1503.    Dim Tmp1       As String
  1504.    Dim Tmp2       As String
  1505.    Dim i          As Integer
  1506.    Dim j          As Integer
  1507.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1508.    title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  1509.    Call cChangeChars(Tmp, "AZM", "qyc")
  1510.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1511.    cStartBasisTimer
  1512.    For i = 1 To Item
  1513.       Call cChangeChars(Tmp, "AZM", "qyc")
  1514.    Next i
  1515.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1516.    Label3.Caption = Tmp1
  1517. End Sub
  1518. Sub TestChangeCharsUntil ()
  1519.    Dim title      As String
  1520.    Dim Tmp        As String
  1521.    Dim Tmp1       As String
  1522.    Dim Tmp2       As String
  1523.    Dim i          As Integer
  1524.    Dim j          As Integer
  1525.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1526.    title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  1527.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1528.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1529.    cStartBasisTimer
  1530.    For i = 1 To Item
  1531.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1532.    Next i
  1533.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1534.    Label3.Caption = Tmp1
  1535. End Sub
  1536. Sub TestChDir ()
  1537.    Dim title      As String
  1538.    Dim Tmp        As String
  1539.    Dim Tmp1       As String
  1540.    Dim Tmp2       As String
  1541.    Dim i          As Integer
  1542.    Dim j          As Integer
  1543.    Dim k          As Long
  1544.    Dim ErrCode    As Integer
  1545.    Tmp1 = ""
  1546.    For i = 1 To 26
  1547.       k = cChDir(Chr$(64 + i) & ":\")
  1548.       If (k = True) Then
  1549.      Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1550.       End If
  1551.    Next i
  1552.    Tmp1 = Tmp1 + Chr$(13)
  1553.    cStartBasisTimer
  1554.    For i = 1 To Item
  1555.       k = cChDir("C:\")
  1556.    Next i
  1557.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1558.    Label3.Caption = Tmp1
  1559. End Sub
  1560. Sub TestChDrive ()
  1561.    Dim title      As String
  1562.    Dim Tmp        As String
  1563.    Dim Tmp1       As String
  1564.    Dim Tmp2       As String
  1565.    Dim i          As Integer
  1566.    Dim j          As Integer
  1567.    Dim k          As Long
  1568.    Dim ErrCode    As Integer
  1569.    Tmp1 = ""
  1570.    For i = 1 To 26
  1571.       k = cChDrive(Chr$(64 + i))
  1572.       If (k = True) Then
  1573.      Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1574.       End If
  1575.    Next i
  1576.    Tmp1 = Tmp1 + Chr$(13)
  1577.    cStartBasisTimer
  1578.    For i = 1 To Item
  1579.       k = cChDrive("C")
  1580.    Next i
  1581.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1582.    Label3.Caption = Tmp1
  1583. End Sub
  1584. Sub TestCheckChars ()
  1585.    Dim title      As String
  1586.    Dim Tmp        As String
  1587.    Dim Tmp1       As String
  1588.    Dim Tmp2       As String
  1589.    Dim i          As Integer
  1590.    Dim j          As Integer
  1591.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1592.    title = "Check 'A','Z' in [" & Tmp & "] is "
  1593.    Tmp1 = title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1594.    title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  1595.    Tmp1 = title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1596.    cStartBasisTimer
  1597.    For i = 1 To Item
  1598.       j = cCheckChars(Tmp, "AZ")
  1599.    Next i
  1600.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1601.    Label3.Caption = Tmp1
  1602. End Sub
  1603. Sub TestCheckNumericity ()
  1604.    Dim title      As String
  1605.    Dim Tmp        As String
  1606.    Dim Tmp1       As String
  1607.    Dim Tmp2       As String
  1608.    Dim i          As Integer
  1609.    Dim j          As Integer
  1610.    Tmp = Text1.Text
  1611.    title = "[" & Tmp & "] is "
  1612.    Tmp1 = title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & Chr$(13) & Chr$(13)
  1613.    cStartBasisTimer
  1614.    For i = 1 To Item
  1615.       j = cCheckNumericity(Tmp)
  1616.    Next i
  1617.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1618.    Label3.Caption = Tmp1
  1619. End Sub
  1620. Sub TestCheckTime ()
  1621.    Dim title      As String
  1622.    Dim Tmp        As String
  1623.    Dim Tmp1       As String
  1624.    Dim Tmp2       As String
  1625.    Dim i          As Integer
  1626.    Dim j          As Integer
  1627.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & Chr$(13) & Chr$(13)
  1628.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & Chr$(13) & Chr$(13)
  1629.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & Chr$(13) & Chr$(13)
  1630.    cStartBasisTimer
  1631.    For i = 1 To Item
  1632.       j = cCheckTime(720, 0, 1439)
  1633.    Next i
  1634.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1635.    Label3.Caption = Tmp1
  1636. End Sub
  1637. Sub TestCloseAllEditForm ()
  1638.    If (cCloseAllEditForm() = True) Then
  1639.       Label3.Caption = "CloseAllEditForm SUCCESS"
  1640.    Else
  1641.       Label3.Caption = "CloseAllEditForm FAIL"
  1642.    End If
  1643. End Sub
  1644. Sub TestClusterSize ()
  1645.    Dim title      As String
  1646.    Dim Tmp        As String
  1647.    Dim Tmp1       As String
  1648.    Dim Tmp2       As String
  1649.    Dim i          As Integer
  1650.    Dim j          As Integer
  1651.    Dim k          As Long
  1652.    Dim ErrCode    As Integer
  1653.    Tmp1 = ""
  1654.    For i = 1 To 26
  1655.       k = cGetDiskClusterSize(Chr$(64 + i))
  1656.       If (k <> True) Then
  1657.      Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  1658.       End If
  1659.    Next i
  1660.    Tmp1 = Tmp1 + Chr$(13)
  1661.    cStartBasisTimer
  1662.    For i = 1 To Item
  1663.       k = cGetDiskClusterSize("C")
  1664.    Next i
  1665.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1666.    Label3.Caption = Tmp1
  1667. End Sub
  1668. Sub TestCnvAE ()
  1669.    Dim title      As String
  1670.    Dim Tmp        As String
  1671.    Dim Tmp1       As String
  1672.    Dim Tmp2       As String
  1673.    Dim i          As Integer
  1674.    Dim j          As Integer
  1675.    Tmp = Text1.Text
  1676.    title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  1677.    Call cCnvASCIItoEBCDIC(Tmp)
  1678.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1679.    title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  1680.    Call cCnvEBCDICtoASCII(Tmp)
  1681.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  1682.    cStartBasisTimer
  1683.    For i = 1 To Item
  1684.       Call cCnvASCIItoEBCDIC(Tmp)
  1685.    Next i
  1686.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1687.    Label3.Caption = Tmp1
  1688. End Sub
  1689. Sub TestCombination ()
  1690.    Dim title      As String
  1691.    Dim Tmp        As String
  1692.    Dim Tmp1       As String
  1693.    Dim Tmp2       As String
  1694.    Dim Tmp3       As String
  1695.    Dim i          As Integer
  1696.    Dim j          As Integer
  1697.    Dim m1         As Double
  1698.    Dim m2         As Double
  1699.    For i = 0 To 10
  1700.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1701.    Next i
  1702.    Tmp1 = Tmp1 & Chr$(13)
  1703.    For i = 42 To 32 Step -1
  1704.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1705.    Next i
  1706.    Tmp1 = Tmp1 & Chr$(13)
  1707.    cStartBasisTimer
  1708.    For i = 1 To ItemFile
  1709.       m1 = cCombination(42, 6)
  1710.    Next i
  1711.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1712.    Label3.Caption = Tmp1
  1713. End Sub
  1714. Sub TestCompact ()
  1715.    Dim title      As String
  1716.    Dim Tmp        As String
  1717.    Dim Tmp1       As String
  1718.    Dim Tmp2       As String
  1719.    Dim i          As Integer
  1720.    Dim j          As Integer
  1721.    Tmp = "30313233343536373839"
  1722.    title = "Compact '" & Tmp & "' is "
  1723.    Tmp1 = title & cCompact(Tmp) & Chr$(13) & Chr$(13)
  1724.    cStartBasisTimer
  1725.    For i = 1 To Item
  1726.       Tmp2 = cCompact(Tmp)
  1727.    Next i
  1728.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1729.    Label3.Caption = Tmp1
  1730. End Sub
  1731. Sub TestCompress ()
  1732.    Dim title      As String
  1733.    Dim Tmp        As String
  1734.    Dim Tmp1       As String
  1735.    Dim Tmp2       As String
  1736.    Dim i          As Integer
  1737.    Dim j          As Integer
  1738.    Tmp1 = "A " & Chr$(9) & "BC  "
  1739.    Tmp = Tmp1
  1740.    title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  1741.    Tmp1 = title & cCompress(Tmp) & Chr$(13) & Chr$(13)
  1742.    cStartBasisTimer
  1743.    For i = 1 To Item
  1744.       Tmp2 = cCompress(Tmp)
  1745.    Next i
  1746.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1747.    Label3.Caption = Tmp1
  1748. End Sub
  1749. Sub TestCompressTab ()
  1750.    Dim title      As String
  1751.    Dim Tmp        As String
  1752.    Dim Tmp1       As String
  1753.    Dim Tmp2       As String
  1754.    Dim i          As Integer
  1755.    Dim j          As Integer
  1756.    Tmp = "A      BC   DEF  GHIJ  "
  1757.    title = "Compress tab (3 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1758.    Tmp1 = title & cCompressTab(Tmp, 3) & Chr$(13) & Chr$(13)
  1759.    Tmp = "A      BC   DEF  GHIJ  "
  1760.    title = "Compress tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1761.    Tmp1 = Tmp1 & title & cCompressTab(Tmp, 2) & Chr$(13) & Chr$(13)
  1762.    cStartBasisTimer
  1763.    For i = 1 To Item
  1764.       Tmp2 = cCompressTab(Tmp, 3)
  1765.    Next i
  1766.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1767.    Label3.Caption = Tmp1
  1768. End Sub
  1769. Sub TestControl3D ()
  1770.    Dim i    As Integer
  1771.    Dim j    As Integer
  1772.    Dim R    As tagRECT
  1773.    Dim Tmp1 As String
  1774.    Call cGetCtlRect(Label3, R)
  1775.    Tmp1 = "Coordinates (in pixels) of this label are :" & Chr$(13) & Chr$(13)
  1776.    Tmp1 = Tmp1 & "Left : " & R.Left & Chr$(13)
  1777.    Tmp1 = Tmp1 & "Top : " & R.Top & Chr$(13)
  1778.    Tmp1 = Tmp1 & "Right : " & R.Right & Chr$(13)
  1779.    Tmp1 = Tmp1 & "Bottom : " & R.Bottom & Chr$(13) & Chr$(13)
  1780.    Call cGetCtlRectTwips(Label3, R)
  1781.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & Chr$(13) & Chr$(13)
  1782.    Tmp1 = Tmp1 & "Left : " & R.Left & Chr$(13)
  1783.    Tmp1 = Tmp1 & "Top : " & R.Top & Chr$(13)
  1784.    Tmp1 = Tmp1 & "Right : " & R.Right & Chr$(13)
  1785.    Tmp1 = Tmp1 & "Bottom : " & R.Bottom & Chr$(13)
  1786.    Label3.Caption = Tmp1
  1787.    For i = 1 To 11
  1788.       c3D Label3, 0, 0
  1789.       DoEvents
  1790.       j = cSleep(140)
  1791.       c3D Label3, 1, 0
  1792.       DoEvents
  1793.       j = cSleep(140)
  1794.    Next i
  1795. End Sub
  1796. Sub TestCountDirectories ()
  1797.    Dim title      As String
  1798.    Dim Tmp        As String
  1799.    Dim Tmp1       As String
  1800.    Dim Tmp2       As String
  1801.    Dim i          As Integer
  1802.    Dim j          As Integer
  1803.    Dim k          As Integer
  1804.    Tmp1 = ""
  1805.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & Chr$(13) & Chr$(13)
  1806.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & Chr$(13) & Chr$(13)
  1807.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & Chr$(13) & Chr$(13)
  1808.    cStartBasisTimer
  1809.    For i = 1 To 10
  1810.       k = cCountDirectories("C:\*.*")
  1811.    Next i
  1812.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1813.    Label3.Caption = Tmp1
  1814. End Sub
  1815. Sub TestCountFiles ()
  1816.    Dim title      As String
  1817.    Dim Tmp        As String
  1818.    Dim Tmp1       As String
  1819.    Dim Tmp2       As String
  1820.    Dim i          As Integer
  1821.    Dim j          As Integer
  1822.    Dim k          As Integer
  1823.    Tmp1 = ""
  1824.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & Chr$(13) & Chr$(13)
  1825.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & Chr$(13) & Chr$(13)
  1826.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & Chr$(13) & Chr$(13)
  1827.    cStartBasisTimer
  1828.    For i = 1 To 10
  1829.       k = cCountFiles("C:\*.*")
  1830.    Next i
  1831.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1832.    Label3.Caption = Tmp1
  1833. End Sub
  1834. Sub TestCreateAndFill ()
  1835.    Dim title      As String
  1836.    Dim Tmp        As String
  1837.    Dim Tmp1       As String
  1838.    Dim Tmp2       As String
  1839.    Dim i          As Integer
  1840.    Dim j          As Integer
  1841.    Tmp = Text1.Text
  1842.    title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  1843.    Tmp1 = title & cCreateAndFill(40, Tmp) & Chr$(13) & Chr$(13)
  1844.    cStartBasisTimer
  1845.    For i = 1 To Item
  1846.       Tmp2 = cCreateAndFill(40, Tmp)
  1847.    Next i
  1848.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1849.    Label3.Caption = Tmp1
  1850. End Sub
  1851. Sub TestCreateBits ()
  1852.    Dim title      As String
  1853.    Dim Tmp        As String
  1854.    Dim Tmp1       As String
  1855.    Dim Tmp2       As String
  1856.    Dim i          As Integer
  1857.    Dim j          As Integer
  1858.    Tmp = Text1.Text
  1859.    title = "Create a string for 1024 bits is "
  1860.    Tmp1 = title & Len(cCreateBits(1024)) & " bytes" & Chr$(13) & Chr$(13)
  1861.    cStartBasisTimer
  1862.    For i = 1 To Item
  1863.       Tmp2 = cCreateBits(1024)
  1864.    Next i
  1865.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1866.    Label3.Caption = Tmp1
  1867. End Sub
  1868. Sub TestCustomControls ()
  1869.    Dim i       As Integer
  1870.    Dim n       As Integer
  1871.    Dim Tmp1    As String
  1872.    n = frmT2W.Count - 1
  1873.    For i = 0 To n
  1874.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + Chr$(13)
  1875.    Next i
  1876.    Label3.Caption = Tmp1
  1877. End Sub
  1878. Sub TestDAL (Management As Integer)
  1879.    Dim Tmp        As String
  1880.    Dim ErrCode    As Integer
  1881.    Dim DA         As tagDISKARRAY
  1882.    ErrCode = cMakeDir("c:\t2w_tmp")
  1883.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  1884.    DA.nType = DA_LONG
  1885.    DA.nIsTyped = False
  1886.    DA.nRows = 100
  1887.    DA.nCols = 100
  1888.    DA.nSheets = 2
  1889.    Select Case Management
  1890.       Case True      'create
  1891.      ErrCode = cDACreate(DA, True)
  1892.       Case False     'use
  1893.      ErrCode = cDACreate(DA, False)
  1894.       Case 1         'clear all
  1895.      ErrCode = cDACreate(DA, False)
  1896.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  1897.       Case 2         'clear sheet 2
  1898.      ErrCode = cDACreate(DA, False)
  1899.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  1900.       Case 3         'clear last row
  1901.      ErrCode = cDACreate(DA, False)
  1902.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  1903.       Case 4         'clear last col
  1904.      ErrCode = cDACreate(DA, False)
  1905.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  1906.       Case 5         'clear last row in all sheets
  1907.      ErrCode = cDACreate(DA, False)
  1908.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  1909.       Case 6         'clear last col in all sheets
  1910.      ErrCode = cDACreate(DA, False)
  1911.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  1912.    End Select
  1913.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  1914.    If (ErrCode = True) Then
  1915.       
  1916.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  1917.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  1918.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  1919.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  1920.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  1921.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  1922.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  1923.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  1924.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  1925.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  1926.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  1927.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  1928.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  1929.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  1930.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  1931.       If (Management = True) Then
  1932.      Call cDAPut(DA, 1, 1, 1, 12345)
  1933.      Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  1934.      Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  1935.      Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  1936.      Call cDAPut(DA, 1, 1, 2, 12345678)
  1937.      Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  1938.      Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  1939.      Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  1940.       End If
  1941.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  1942.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  1943.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  1944.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  1945.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  1946.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  1947.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  1948.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  1949.    End If
  1950.    Call cDAClose(DA, False)
  1951.    Label3.Caption = Tmp
  1952. End Sub
  1953. Sub TestDAStr (Management As Integer)
  1954.    Dim Tmp        As String
  1955.    Dim ErrCode    As Integer
  1956.    Dim DA         As tagDISKARRAY
  1957.    ErrCode = cMakeDir("c:\t2w_tmp")
  1958.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  1959.    DA.nType = 50
  1960.    DA.nIsTyped = False
  1961.    DA.nRows = 100
  1962.    DA.nCols = 100
  1963.    DA.nSheets = 2
  1964.    Select Case Management
  1965.       Case True      'create
  1966.      ErrCode = cDACreate(DA, True)
  1967.       Case False     'use
  1968.      ErrCode = cDACreate(DA, False)
  1969.       Case 1         'clear all
  1970.      ErrCode = cDACreate(DA, False)
  1971.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  1972.       Case 2         'clear sheet 2
  1973.      ErrCode = cDACreate(DA, False)
  1974.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  1975.       Case 3         'clear last row
  1976.      ErrCode = cDACreate(DA, False)
  1977.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  1978.       Case 4         'clear last col
  1979.      ErrCode = cDACreate(DA, False)
  1980.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  1981.       Case 5         'clear last row in all sheets
  1982.      ErrCode = cDACreate(DA, False)
  1983.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  1984.       Case 6         'clear last col in all sheets
  1985.      ErrCode = cDACreate(DA, False)
  1986.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  1987.    End Select
  1988.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  1989.    If (ErrCode = True) Then
  1990.       
  1991.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  1992.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  1993.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  1994.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  1995.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  1996.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  1997.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  1998.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  1999.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2000.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2001.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2002.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2003.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2004.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2005.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2006.       If (Management = True) Then
  2007.       
  2008.      Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2009.      Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2010.      Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2011.      Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2012.      Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2013.      Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2014.      Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2015.      Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2016.       End If
  2017.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2018.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2019.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2020.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2021.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2022.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2023.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2024.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2025.    End If
  2026.    Call cDAClose(DA, False)
  2027.    Label3.Caption = Tmp
  2028. End Sub
  2029. Sub TestDate ()
  2030.    Dim title      As String
  2031.    Dim Tmp        As String
  2032.    Dim Tmp1       As String
  2033.    Dim Tmp2       As String
  2034.    Dim i          As Integer
  2035.    Dim j          As Integer
  2036.    Dim nYear      As Integer
  2037.    Dim nMonth     As Integer
  2038.    Dim nDay       As Integer
  2039.    Dim nNow       As Long
  2040.    nNow = Int(Now)
  2041.    nYear = Year(nNow)
  2042.    nMonth = Month(nNow)
  2043.    nDay = Day(nNow)
  2044.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & Chr$(13) & Chr$(13)
  2045.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2046.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2047.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2048.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2049.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2050.    nYear = 0
  2051.    nMonth = 0
  2052.    nDay = 0
  2053.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2054.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13) & Chr$(13)
  2055.    nNow = Int(Now)
  2056.    nYear = Year(nNow)
  2057.    nMonth = 1
  2058.    nDay = 1
  2059.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & Chr$(13) & Chr$(13)
  2060.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2061.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2062.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2063.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2064.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2065.    nYear = 0
  2066.    nMonth = 0
  2067.    nDay = 0
  2068.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2069.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13)
  2070.    Label3.Caption = Tmp1
  2071. End Sub
  2072. Sub TestDAType (Management As Integer)
  2073.    Dim Tmp        As String
  2074.    Dim ErrCode    As Integer
  2075.    Dim DA         As tagDISKARRAY
  2076.    Dim TE         As tagTASKENTRY
  2077.    ErrCode = cMakeDir("c:\t2w_tmp")
  2078.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2079.    DA.nType = Len(TE)
  2080.    DA.nIsTyped = True
  2081.    DA.nRows = 100
  2082.    DA.nCols = 100
  2083.    DA.nSheets = 2
  2084.    Select Case Management
  2085.       Case True      'create
  2086.      ErrCode = cDACreate(DA, True)
  2087.       Case False     'use
  2088.      ErrCode = cDACreate(DA, False)
  2089.       Case 1         'clear all
  2090.      ErrCode = cDACreate(DA, False)
  2091.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2092.       Case 2         'clear sheet 2
  2093.      ErrCode = cDACreate(DA, False)
  2094.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2095.       Case 3         'clear last row
  2096.      ErrCode = cDACreate(DA, False)
  2097.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2098.       Case 4         'clear last col
  2099.      ErrCode = cDACreate(DA, False)
  2100.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2101.       Case 5         'clear last row in all sheets
  2102.      ErrCode = cDACreate(DA, False)
  2103.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2104.       Case 6         'clear last col in all sheets
  2105.      ErrCode = cDACreate(DA, False)
  2106.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2107.       End Select
  2108.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2109.    If (ErrCode = True) Then
  2110.       
  2111.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2112.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2113.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2114.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2115.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2116.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2117.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2118.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2119.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2120.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2121.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2122.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2123.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2124.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2125.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2126.       If (Management = True) Then
  2127.      ErrCode = cTasks(TE, True)
  2128.      Call cDAPutType(DA, 1, 1, 1, TE)
  2129.      ErrCode = cTasks(TE, False)
  2130.      Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2131.      ErrCode = cTasks(TE, False)
  2132.      Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2133.      ErrCode = cTasks(TE, False)
  2134.      Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2135.      ErrCode = cTasks(TE, False)
  2136.      Call cDAPutType(DA, 1, 1, 2, TE)
  2137.      ErrCode = cTasks(TE, False)
  2138.      Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2139.      ErrCode = cTasks(TE, False)
  2140.      Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2141.      ErrCode = cTasks(TE, False)
  2142.      Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2143.       End If
  2144.       Call cDAGetType(DA, 1, 1, 1, TE)
  2145.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2146.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2147.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2148.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2149.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2150.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2151.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2152.       Call cDAGetType(DA, 1, 1, 2, TE)
  2153.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2154.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2155.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2156.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2157.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2158.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2159.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2160.    End If
  2161.    Call cDAClose(DA, False)
  2162.    Label3.Caption = Tmp
  2163. End Sub
  2164. Sub TestDecrypt ()
  2165.    Dim title      As String
  2166.    Dim Tmp        As String
  2167.    Dim Tmp1       As String
  2168.    Dim Tmp2       As String
  2169.    Dim Tmp3       As String
  2170.    Dim i          As Integer
  2171.    Dim j          As Integer
  2172.    Tmp3 = cToHexa(Format$(76543210))
  2173.    Tmp2 = "TIME TO WIN"
  2174.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2175.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2176.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2177.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2178.    Next i
  2179.    cStartBasisTimer
  2180.    For i = 1 To Item
  2181.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2182.    Next i
  2183.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2184.    Label3.Caption = Tmp1
  2185. End Sub
  2186. Sub TestDeviationI ()
  2187.    Dim title      As String
  2188.    Dim Tmp        As String
  2189.    Dim Tmp1       As String
  2190.    Dim Tmp2       As String
  2191.    Dim i          As Integer
  2192.    Dim j          As Integer
  2193.    Dim m          As Double
  2194.    Dim n          As Double
  2195.    ReDim array(ItemMean) As Integer
  2196.    Randomize Timer
  2197.    m = 0
  2198.    For i = LBound(array) To UBound(array)
  2199.       array(i) = Int(RandI * Rnd(1))
  2200.       m = m + array(i)
  2201.       List1.AddItem "" & array(i)
  2202.    Next i
  2203.    m = m / (UBound(array) - LBound(array) + 1)
  2204.    n = 0
  2205.    For i = LBound(array) To UBound(array)
  2206.       n = n + ((array(i) - m) * (array(i) - m))
  2207.    Next i
  2208.    n = (Sqr(n) / (UBound(array) - LBound(array) + 1))
  2209.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cDeviationI(array()) & " (" & n & ")" & Chr$(13) & Chr$(13)
  2210.    cStartBasisTimer
  2211.    For i = 1 To ItemFile
  2212.       m = cDeviationI(array())
  2213.    Next i
  2214.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2215.    Label3.Caption = Tmp1
  2216. End Sub
  2217. Sub TestDOSGetVolLabel ()
  2218.    Dim title         As String
  2219.    Dim Tmp           As String
  2220.    Dim Tmp1          As String
  2221.    Dim Tmp2          As String
  2222.    Dim i             As Integer
  2223.    Dim j             As Integer
  2224.    For i = 1 To 4
  2225.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2226.       If (Len(Tmp2) > 0) Then
  2227.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & Chr$(13)
  2228.       Else
  2229.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & Chr$(13)
  2230.       End If
  2231.    Next i
  2232.    Tmp1 = Tmp1 + Chr$(13)
  2233.    cStartBasisTimer
  2234.    For i = 1 To Item
  2235.       Tmp2 = cDOSGetVolumeLabel("C")
  2236.    Next i
  2237.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2238.    Label3.Caption = Tmp1
  2239. End Sub
  2240. Sub TestDOSMediaID ()
  2241.    Dim title         As String
  2242.    Dim Tmp           As String
  2243.    Dim Tmp1          As String
  2244.    Dim Tmp2          As String
  2245.    Dim i             As Integer
  2246.    Dim j             As Integer
  2247.    Dim MEDIAID       As tagMEDIAID
  2248.    For i = 1 To 7
  2249.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2250.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & Chr$(13)
  2251.      Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & Chr$(13)
  2252.      Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & Chr$(13)
  2253.      Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & Chr$(13) & Chr$(13)
  2254.       Else
  2255.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & Chr$(13) & Chr$(13)
  2256.       End If
  2257.    Next i
  2258.    Tmp1 = Tmp1 + Chr$(13)
  2259.    cStartBasisTimer
  2260.    For i = 1 To Item
  2261.       j = cDOSGetMediaID("", MEDIAID)
  2262.    Next i
  2263.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2264.    Label3.Caption = Tmp1
  2265. End Sub
  2266. Sub TestDriveType ()
  2267.    Dim title      As String
  2268.    Dim Tmp        As String
  2269.    Dim Tmp1       As String
  2270.    Dim Tmp2       As String
  2271.    Dim i          As Integer
  2272.    Dim j          As Integer
  2273.    Tmp1 = ""
  2274.    For i = 1 To 26
  2275.       j = cGetDriveType(Chr$(64 + i))
  2276.       If (j > 0) Then
  2277.      Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2278.      Select Case j
  2279.         Case 2
  2280.            Tmp1 = Tmp1 & "removable disk" & Chr$(13)
  2281.         Case 3
  2282.            Tmp1 = Tmp1 & "fixed disk" & Chr$(13)
  2283.         Case 4
  2284.            Tmp1 = Tmp1 & "remote disk" & Chr$(13)
  2285.         Case 20
  2286.            Tmp1 = Tmp1 & "cd-rom" & Chr$(13)
  2287.      End Select
  2288.       End If
  2289.    Next i
  2290.    Tmp1 = Tmp1 + Chr$(13)
  2291.    cStartBasisTimer
  2292.    For i = 1 To Item
  2293.       j = cGetDriveType("C")
  2294.    Next i
  2295.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2296.    Label3.Caption = Tmp1
  2297. End Sub
  2298. Sub TestEncrypt ()
  2299.    Dim title      As String
  2300.    Dim Tmp        As String
  2301.    Dim Tmp1       As String
  2302.    Dim Tmp2       As String
  2303.    Dim Tmp3       As String
  2304.    Dim i          As Integer
  2305.    Dim j          As Integer
  2306.    Tmp3 = cToHexa(Format$(76543210))
  2307.    Tmp2 = "TIME TO WIN"
  2308.    Tmp = Text1.Text
  2309.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2310.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2311.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2312.    Next i
  2313.    cStartBasisTimer
  2314.    For i = 1 To Item
  2315.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2316.    Next i
  2317.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2318.    Label3.Caption = Tmp1
  2319. End Sub
  2320. Sub TestExpandTab ()
  2321.    Dim title      As String
  2322.    Dim Tmp        As String
  2323.    Dim Tmp1       As String
  2324.    Dim Tmp2       As String
  2325.    Dim i          As Integer
  2326.    Dim j          As Integer
  2327.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2328.    title = "Expand tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2329.    Tmp1 = title & cExpandTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2330.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2331.    title = "Expand tab (4 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2332.    Tmp1 = Tmp1 & title & cExpandTab(Tmp, 4) & Chr$(13) & Chr$(13)
  2333.    cStartBasisTimer
  2334.    For i = 1 To Item
  2335.       Tmp2 = cExpandTab(Tmp, 3)
  2336.    Next i
  2337.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2338.    Label3.Caption = Tmp1
  2339. End Sub
  2340. Sub TestFileChangeChars ()
  2341.    Dim title      As String
  2342.    Dim Tmp        As String
  2343.    Dim Tmp1       As String
  2344.    Dim Tmp2       As String
  2345.    Dim Tmp3       As String
  2346.    Dim Tmp4       As String
  2347.    Dim i          As Integer
  2348.    Dim j          As Long
  2349.    Tmp1 = ""
  2350.    Tmp = "c:\autoexec.bat"
  2351.    Tmp2 = "c:\autoexec.tab"
  2352.    Tmp3 = "REM"
  2353.    Tmp4 = "rem"
  2354.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2355.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & Chr$(13) & Chr$(13)
  2356.    cStartBasisTimer
  2357.    For i = 1 To Item
  2358.       If ((i Mod 2) = 1) Then
  2359.      j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  2360.       Else
  2361.      j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  2362.       End If
  2363.    Next i
  2364.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2365.    Label3.Caption = Tmp1
  2366. End Sub
  2367. Sub TestFileCmp ()
  2368.    Dim title      As String
  2369.    Dim Tmp        As String
  2370.    Dim Tmp1       As String
  2371.    Dim Tmp2       As String
  2372.    Dim i          As Integer
  2373.    Dim j          As Integer
  2374.    Tmp1 = ""
  2375.    Tmp = "c:\autoexec.bat"
  2376.    Tmp2 = "c:\tmp\autoexec.bat"
  2377.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & Chr$(13)
  2378.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & Chr$(13)
  2379.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & Chr$(13)
  2380.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & Chr$(13)
  2381.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & Chr$(13) & Chr$(13)
  2382.    cStartBasisTimer
  2383.    For i = 1 To Item
  2384.       j = cCmpFileSize(Tmp, Tmp2)
  2385.    Next i
  2386.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2387.    cStartBasisTimer
  2388.    For i = 1 To Item
  2389.       j = cCmpFileContents(Tmp, Tmp2, True)
  2390.    Next i
  2391.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2392.    cStartBasisTimer
  2393.    For i = 1 To Item
  2394.       j = cCmpFileContents(Tmp, Tmp2, False)
  2395.    Next i
  2396.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2397.    Label3.Caption = Tmp1
  2398. End Sub
  2399. Sub TestFileCompress ()
  2400.    Dim title      As String
  2401.    Dim Tmp        As String
  2402.    Dim Tmp1       As String
  2403.    Dim Tmp2       As String
  2404.    Dim Tmp3       As String
  2405.    Dim i          As Integer
  2406.    Dim j          As Long
  2407.    Tmp1 = ""
  2408.    Tmp = "c:\autoexec.bat"
  2409.    Tmp2 = "c:\autoexec.tb1"
  2410.    Tmp3 = "c:\autoexec.tb2"
  2411.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & Chr$(13)
  2412.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & Chr$(13)
  2413.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2414.    cStartBasisTimer
  2415.    For i = 1 To Item
  2416.       j = cFileCompress(Tmp, Tmp2)
  2417.    Next i
  2418.    j = cFileExpand(Tmp2, Tmp3)
  2419.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2420.    Label3.Caption = Tmp1
  2421. End Sub
  2422. Sub TestFileCompressTab ()
  2423.    Dim title      As String
  2424.    Dim Tmp        As String
  2425.    Dim Tmp1       As String
  2426.    Dim Tmp2       As String
  2427.    Dim Tmp3       As String
  2428.    Dim i          As Integer
  2429.    Dim j          As Long
  2430.    Tmp1 = ""
  2431.    Tmp = "c:\autoexec.bat"
  2432.    Tmp2 = "c:\autoexec.tb1"
  2433.    Tmp3 = "c:\autoexec.tb2"
  2434.    For i = 1 To 4
  2435.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & Chr$(13)
  2436.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & Chr$(13)
  2437.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2438.    Next i
  2439.    cStartBasisTimer
  2440.    For i = 1 To Item
  2441.       j = cFileCompressTab(Tmp, Tmp2, 3)
  2442.    Next i
  2443.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  2444.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2445.    Label3.Caption = Tmp1
  2446. End Sub
  2447. Sub TestFileCopy ()
  2448.    Dim title      As String
  2449.    Dim Tmp        As String
  2450.    Dim Tmp1       As String
  2451.    Dim Tmp2       As String
  2452.    Dim i          As Integer
  2453.    Dim j          As Long
  2454.    Tmp1 = ""
  2455.    Tmp = "c:\autoexec.bat"
  2456.    Tmp2 = "c:\autoexec.tab"
  2457.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2458.    cStartBasisTimer
  2459.    For i = 1 To Item
  2460.       j = cFileCopy(Tmp, Tmp2)
  2461.    Next i
  2462.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2463.    Label3.Caption = Tmp1
  2464. End Sub
  2465. Sub TestFileCRC32 ()
  2466.    Dim title      As String
  2467.    Dim Tmp        As String
  2468.    Dim Tmp1       As String
  2469.    Dim Tmp2       As String
  2470.    Dim i          As Integer
  2471.    Dim j          As Integer
  2472.    Dim k          As Long
  2473.    Tmp = "c:\config.sys"
  2474.    title = "CRC32 for file '" & Tmp & "' is "
  2475.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2476.    Tmp = "c:\autoexec.bat"
  2477.    title = "CRC32 for file '" & Tmp & "' is "
  2478.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2479.    Tmp = "c:\command.com"
  2480.    title = "CRC32 for file '" & Tmp & "' is "
  2481.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2482.    cStartBasisTimer
  2483.    For i = 1 To ItemFile
  2484.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  2485.    Next i
  2486.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2487.    Label3.Caption = Tmp1
  2488. End Sub
  2489. Sub TestFileEncrypt ()
  2490.    Dim title      As String
  2491.    Dim Tmp        As String
  2492.    Dim Tmp1       As String
  2493.    Dim Tmp2       As String
  2494.    Dim Tmp3       As String
  2495.    Dim Tmp4       As String
  2496.    Dim i          As Integer
  2497.    Dim j          As Long
  2498.    Tmp1 = ""
  2499.    Tmp = "c:\autoexec.bat"
  2500.    Tmp2 = "c:\ac.tb1"
  2501.    Tmp3 = "c:\ac.tb2"
  2502.    Tmp4 = cToHexa(Format$(76543210))
  2503.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2504.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & Chr$(13)
  2505.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & Chr$(13)
  2506.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2507.    Next i
  2508.    cStartBasisTimer
  2509.    For i = 1 To Item
  2510.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  2511.    Next i
  2512.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2513.    Label3.Caption = Tmp1
  2514. End Sub
  2515. Sub TestFileFilter ()
  2516.    Dim title      As String
  2517.    Dim Tmp        As String
  2518.    Dim Tmp1       As String
  2519.    Dim Tmp2       As String
  2520.    Dim Tmp3       As String
  2521.    Dim i          As Integer
  2522.    Dim j          As Long
  2523.    Tmp1 = ""
  2524.    Tmp = "c:\autoexec.bat"
  2525.    Tmp2 = "c:\autoexec.tab"
  2526.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2527.    Tmp3 = Tmp3 + LCase$(Tmp)
  2528.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2529.    cStartBasisTimer
  2530.    For i = 1 To Item
  2531.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  2532.    Next i
  2533.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2534.    Label3.Caption = Tmp1
  2535. End Sub
  2536. Sub TestFileFilterNot ()
  2537.    Dim title      As String
  2538.    Dim Tmp        As String
  2539.    Dim Tmp1       As String
  2540.    Dim Tmp2       As String
  2541.    Dim Tmp3       As String
  2542.    Dim i          As Integer
  2543.    Dim j          As Long
  2544.    Tmp1 = ""
  2545.    Tmp = "c:\autoexec.bat"
  2546.    Tmp2 = "c:\autoexec.tab"
  2547.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2548.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + Chr$(13) + Chr$(10)
  2549.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2550.    cStartBasisTimer
  2551.    For i = 1 To Item
  2552.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  2553.    Next i
  2554.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2555.    Label3.Caption = Tmp1
  2556. End Sub
  2557. Sub TestFileGetAttrib ()
  2558.    Dim title      As String
  2559.    Dim Tmp        As String
  2560.    Dim Tmp1       As String
  2561.    Dim Tmp2       As String
  2562.    Dim i          As Integer
  2563.    Dim j          As Integer
  2564.    Dim FileAttrib As FileAttributeType
  2565.    Tmp1 = ""
  2566.    Tmp = cFilesInDirectory("*.*", True)
  2567.    j = cFileGetAttrib(Tmp, FileAttrib)
  2568.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2569.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2570.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2571.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2572.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2573.    Tmp = cSubDirectory("*.*", True)
  2574.    Tmp = cSubDirectory("*.*", False)
  2575.    Tmp = cSubDirectory("*.*", False)
  2576.    j = cFileGetAttrib(Tmp, FileAttrib)
  2577.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2578.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2579.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2580.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2581.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2582.    cStartBasisTimer
  2583.    For i = 1 To Item
  2584.       j = cFileGetAttrib(Tmp, FileAttrib)
  2585.    Next i
  2586.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2587.    Label3.Caption = Tmp1
  2588. End Sub
  2589. Sub TestFileLineCount ()
  2590.    Dim title      As String
  2591.    Dim Tmp        As String
  2592.    Dim Tmp1       As String
  2593.    Dim Tmp2       As String
  2594.    Dim Tmp3       As String
  2595.    Dim i          As Integer
  2596.    Dim j          As Long
  2597.    Tmp1 = ""
  2598.    Tmp = "C:\AUTOEXEC.BAT"
  2599.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2600.    Tmp = "C:\CONFIG.SYS"
  2601.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2602.    cStartBasisTimer
  2603.    For i = 1 To Item
  2604.       j = cFileLineCount(Tmp)
  2605.    Next i
  2606.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2607.    Label3.Caption = Tmp1
  2608. End Sub
  2609. Sub TestFileMerge ()
  2610.    Dim title      As String
  2611.    Dim Tmp        As String
  2612.    Dim Tmp1       As String
  2613.    Dim Tmp2       As String
  2614.    Dim Tmp3       As String
  2615.    Dim i          As Integer
  2616.    Dim j          As Long
  2617.    Tmp1 = ""
  2618.    Tmp = "c:\autoexec.bat"
  2619.    Tmp2 = "c:\config.sys"
  2620.    Tmp3 = "c:\merge.byt"
  2621.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2622.    cStartBasisTimer
  2623.    For i = 1 To Item
  2624.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  2625.    Next i
  2626.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2627.    Label3.Caption = Tmp1
  2628. End Sub
  2629. Sub TestFilePathExists ()
  2630.    Dim title      As String
  2631.    Dim Tmp        As String
  2632.    Dim Tmp1       As String
  2633.    Dim Tmp2       As String
  2634.    Dim i          As Integer
  2635.    Dim j          As Integer
  2636.    Tmp1 = "File time2win.dll " & IIf(cFilePathExists("time2win.dll") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2637.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2638.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2639.    cStartBasisTimer
  2640.    For i = 1 To Item
  2641.       j = cFilePathExists("time2win.dll")
  2642.    Next i
  2643.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2644.    Label3.Caption = Tmp1
  2645. End Sub
  2646. Sub TestFileResetAllAttrib ()
  2647.    Dim title      As String
  2648.    Dim Tmp        As String
  2649.    Dim Tmp1       As String
  2650.    Dim Tmp2       As String
  2651.    Dim i          As Integer
  2652.    Dim j          As Integer
  2653.    Dim FileAttrib As FileAttributeType
  2654.    Tmp1 = ""
  2655.    Tmp = "TEST.DAT"
  2656.    Call CreateFile
  2657.    FileAttrib.Archive = False
  2658.    FileAttrib.Hidden = True
  2659.    FileAttrib.ReadOnly = True
  2660.    FileAttrib.System = True
  2661.    j = cFileResetAllAttrib(Tmp)
  2662.    j = cFileGetAttrib(Tmp, FileAttrib)
  2663.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2664.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  2665.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2666.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2667.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2668.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2669.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2670.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2671.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2672.    cStartBasisTimer
  2673.    For i = 1 To ItemFile
  2674.       j = cFileResetAllAttrib(Tmp)
  2675.    Next i
  2676.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2677.    Label3.Caption = Tmp1
  2678. End Sub
  2679. Sub TestFileResetArchive ()
  2680.    Dim title      As String
  2681.    Dim Tmp        As String
  2682.    Dim Tmp1       As String
  2683.    Dim Tmp2       As String
  2684.    Dim i          As Integer
  2685.    Dim j          As Integer
  2686.    Dim nArchive   As Integer
  2687.    Dim nHidden    As Integer
  2688.    Dim nReadOnly  As Integer
  2689.    Dim nSubDir    As Integer
  2690.    Dim nSystem    As Integer
  2691.    Dim FileAttrib As FileAttributeType
  2692.    Tmp1 = ""
  2693.    Tmp = "TEST.DAT"
  2694.    Call CreateFile
  2695.    j = cFileSetAllAttrib(Tmp)
  2696.    j = cFileResetArchive(Tmp)
  2697.    j = cFileGetAttrib(Tmp, FileAttrib)
  2698.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2699.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  2700.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2701.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2702.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2703.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2704.    cStartBasisTimer
  2705.    For i = 1 To ItemFile
  2706.       j = cFileResetArchive(Tmp)
  2707.    Next i
  2708.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2709.    Label3.Caption = Tmp1
  2710. End Sub
  2711. Sub TestFileResetHidden ()
  2712.    Dim title      As String
  2713.    Dim Tmp        As String
  2714.    Dim Tmp1       As String
  2715.    Dim Tmp2       As String
  2716.    Dim i          As Integer
  2717.    Dim j          As Integer
  2718.    Dim nArchive   As Integer
  2719.    Dim nHidden    As Integer
  2720.    Dim nReadOnly  As Integer
  2721.    Dim nSubDir    As Integer
  2722.    Dim nSystem    As Integer
  2723.    Dim FileAttrib As FileAttributeType
  2724.    Tmp1 = ""
  2725.    Tmp = "TEST.DAT"
  2726.    Call CreateFile
  2727.    j = cFileSetAllAttrib(Tmp)
  2728.    j = cFileResetHidden(Tmp)
  2729.    j = cFileGetAttrib(Tmp, FileAttrib)
  2730.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2731.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  2732.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2733.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2734.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2735.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2736.    cStartBasisTimer
  2737.    For i = 1 To ItemFile
  2738.       j = cFileResetHidden(Tmp)
  2739.    Next i
  2740.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2741.    Label3.Caption = Tmp1
  2742. End Sub
  2743. Sub TestFileResetReadOnly ()
  2744.    Dim title      As String
  2745.    Dim Tmp        As String
  2746.    Dim Tmp1       As String
  2747.    Dim Tmp2       As String
  2748.    Dim i          As Integer
  2749.    Dim j          As Integer
  2750.    Dim FileAttrib As FileAttributeType
  2751.    Dim nArchive   As Integer
  2752.    Dim nHidden    As Integer
  2753.    Dim nReadOnly  As Integer
  2754.    Dim nSubDir    As Integer
  2755.    Dim nSystem    As Integer
  2756.    Tmp1 = ""
  2757.    Tmp = "TEST.DAT"
  2758.    Call CreateFile
  2759.    j = cFileSetAllAttrib(Tmp)
  2760.    j = cFileResetReadOnly(Tmp)
  2761.    j = cFileGetAttrib(Tmp, FileAttrib)
  2762.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2763.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  2764.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2765.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2766.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2767.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2768.    cStartBasisTimer
  2769.    For i = 1 To ItemFile
  2770.       j = cFileResetReadOnly(Tmp)
  2771.    Next i
  2772.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2773.    Label3.Caption = Tmp1
  2774. End Sub
  2775. Sub TestFileResetSystem ()
  2776.    Dim title      As String
  2777.    Dim Tmp        As String
  2778.    Dim Tmp1       As String
  2779.    Dim Tmp2       As String
  2780.    Dim i          As Integer
  2781.    Dim j          As Integer
  2782.    Dim FileAttrib As FileAttributeType
  2783.    Tmp1 = ""
  2784.    Tmp = "TEST.DAT"
  2785.    Call CreateFile
  2786.    j = cFileSetAllAttrib(Tmp)
  2787.    j = cFileResetSystem(Tmp)
  2788.    j = cFileGetAttrib(Tmp, FileAttrib)
  2789.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2790.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2791.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2792.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2793.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2794.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2795.    cStartBasisTimer
  2796.    For i = 1 To ItemFile
  2797.       j = cFileResetSystem(Tmp)
  2798.    Next i
  2799.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2800.    Label3.Caption = Tmp1
  2801. End Sub
  2802. Sub TestFileS ()
  2803.    Dim title      As String
  2804.    Dim Tmp        As String
  2805.    Dim Tmp1       As String
  2806.    Dim Tmp2       As String
  2807.    Dim Tmp3       As String
  2808.    Dim Tmp4       As String
  2809.    Dim i          As Integer
  2810.    Dim j          As Long
  2811.    Tmp1 = ""
  2812.    Tmp = "c:\autoexec.bat"
  2813.    Tmp3 = "re"
  2814.    Tmp4 = "SET"
  2815.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  2816.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  2817.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  2818.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  2819.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  2820.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  2821.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  2822.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  2823.    cStartBasisTimer
  2824.    For i = 1 To Item
  2825.       If ((i Mod 2) = 1) Then
  2826.      j = cFileSearch(Tmp, Tmp3, False)
  2827.       Else
  2828.      j = cFileSearchCount(Tmp, Tmp3, False)
  2829.       End If
  2830.    Next i
  2831.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2832.    Label3.Caption = Tmp1
  2833. End Sub
  2834. Sub TestFileSetAllAttrib ()
  2835.    Dim title      As String
  2836.    Dim Tmp        As String
  2837.    Dim Tmp1       As String
  2838.    Dim Tmp2       As String
  2839.    Dim i          As Integer
  2840.    Dim j          As Integer
  2841.    Dim FileAttrib As FileAttributeType
  2842.    Tmp1 = ""
  2843.    Tmp = "TEST.DAT"
  2844.    Call CreateFile
  2845.    j = cFileSetAllAttrib(Tmp)
  2846.    j = cFileGetAttrib(Tmp, FileAttrib)
  2847.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2848.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  2849.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2850.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2851.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2852.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2853.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2854.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2855.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2856.    cStartBasisTimer
  2857.    For i = 1 To ItemFile
  2858.       j = cFileSetAllAttrib(Tmp)
  2859.    Next i
  2860.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2861.    Label3.Caption = Tmp1
  2862. End Sub
  2863. Sub TestFileSetArchive ()
  2864.    Dim title      As String
  2865.    Dim Tmp        As String
  2866.    Dim Tmp1       As String
  2867.    Dim Tmp2       As String
  2868.    Dim i          As Integer
  2869.    Dim j          As Integer
  2870.    Dim FileAttrib As FileAttributeType
  2871.    Tmp1 = ""
  2872.    Tmp = "TEST.DAT"
  2873.    Call CreateFile
  2874.    j = cFileSetArchive(Tmp)
  2875.    j = cFileGetAttrib(Tmp, FileAttrib)
  2876.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2877.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  2878.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2879.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2880.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2881.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2882.    cStartBasisTimer
  2883.    For i = 1 To ItemFile
  2884.       j = cFileSetArchive(Tmp)
  2885.    Next i
  2886.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2887.    Label3.Caption = Tmp1
  2888. End Sub
  2889. Sub TestFileSetAttrib ()
  2890.    Dim title      As String
  2891.    Dim Tmp        As String
  2892.    Dim Tmp1       As String
  2893.    Dim Tmp2       As String
  2894.    Dim i          As Integer
  2895.    Dim j          As Integer
  2896.    Dim FileAttrib As FileAttributeType
  2897.    Tmp1 = ""
  2898.    Tmp = "TEST.DAT"
  2899.    Call CreateFile
  2900.    FileAttrib.Archive = False
  2901.    FileAttrib.Hidden = True
  2902.    FileAttrib.ReadOnly = True
  2903.    FileAttrib.System = True
  2904.    j = cFileSetAttrib(Tmp, FileAttrib)
  2905.    j = cFileGetAttrib(Tmp, FileAttrib)
  2906.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2907.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2908.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2909.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2910.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2911.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2912.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2913.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2914.    cStartBasisTimer
  2915.    For i = 1 To ItemFile
  2916.       j = cFileSetAttrib(Tmp, FileAttrib)
  2917.    Next i
  2918.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2919.    Label3.Caption = Tmp1
  2920. End Sub
  2921. Sub TestFileSetHidden ()
  2922.    Dim title      As String
  2923.    Dim Tmp        As String
  2924.    Dim Tmp1       As String
  2925.    Dim Tmp2       As String
  2926.    Dim i          As Integer
  2927.    Dim j          As Integer
  2928.    Dim FileAttrib As FileAttributeType
  2929.    Tmp1 = ""
  2930.    Tmp = "TEST.DAT"
  2931.    Call CreateFile
  2932.    j = cFileSetHidden(Tmp)
  2933.    j = cFileGetAttrib(Tmp, FileAttrib)
  2934.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2935.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  2936.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2937.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2938.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2939.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2940.    cStartBasisTimer
  2941.    For i = 1 To ItemFile
  2942.       j = cFileSetHidden(Tmp)
  2943.    Next i
  2944.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2945.    Label3.Caption = Tmp1
  2946. End Sub
  2947. Sub TestFileSetReadOnly ()
  2948.    Dim title      As String
  2949.    Dim Tmp        As String
  2950.    Dim Tmp1       As String
  2951.    Dim Tmp2       As String
  2952.    Dim i          As Integer
  2953.    Dim j          As Integer
  2954.    Dim FileAttrib As FileAttributeType
  2955.    Tmp1 = ""
  2956.    Tmp = "TEST.DAT"
  2957.    Call CreateFile
  2958.    j = cFileSetReadOnly(Tmp)
  2959.    j = cFileGetAttrib(Tmp, FileAttrib)
  2960.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2961.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  2962.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2963.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2964.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2965.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2966.    cStartBasisTimer
  2967.    For i = 1 To ItemFile
  2968.       j = cFileSetReadOnly(Tmp)
  2969.    Next i
  2970.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2971.    Label3.Caption = Tmp1
  2972. End Sub
  2973. Sub TestFileSetSystem ()
  2974.    Dim title      As String
  2975.    Dim Tmp        As String
  2976.    Dim Tmp1       As String
  2977.    Dim Tmp2       As String
  2978.    Dim i          As Integer
  2979.    Dim j          As Integer
  2980.    Dim FileAttrib As FileAttributeType
  2981.    Tmp1 = ""
  2982.    Tmp = "TEST.DAT"
  2983.    Call CreateFile
  2984.    j = cFileSetSystem(Tmp)
  2985.    j = cFileGetAttrib(Tmp, FileAttrib)
  2986.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  2987.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2988.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2989.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2990.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2991.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2992.    cStartBasisTimer
  2993.    For i = 1 To ItemFile
  2994.       j = cFileSetSystem(Tmp)
  2995.    Next i
  2996.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2997.    Label3.Caption = Tmp1
  2998. End Sub
  2999. Sub TestFilesInDirectory ()
  3000.    Dim title      As String
  3001.    Dim Tmp        As String
  3002.    Dim Tmp1       As String
  3003.    Dim Tmp2       As String
  3004.    Dim i          As Integer
  3005.    Dim j          As Integer
  3006.    Dim k          As Long
  3007.    title = "The 10 first files in this directory are" & Chr$(13) & Chr$(13)
  3008.    Tmp1 = title
  3009.    Tmp2 = cFilesInDirectory("*.*", True)
  3010.    For i = 1 To 10
  3011.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  3012.       Tmp2 = cFilesInDirectory("*.*", False)
  3013.    Next i
  3014.    Tmp1 = Tmp1 & Chr$(13)
  3015.    cStartBasisTimer
  3016.    For i = 1 To Item
  3017.       Tmp = cFilesInDirectory("*.*", True)
  3018.    Next i
  3019.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3020.    Label3.Caption = Tmp1
  3021. End Sub
  3022. Sub TestFileSize ()
  3023.    Dim title      As String
  3024.    Dim Tmp        As String
  3025.    Dim Tmp1       As String
  3026.    Dim Tmp2       As String
  3027.    Dim i          As Integer
  3028.    Dim j          As Integer
  3029.    Dim k          As Long
  3030.    Tmp1 = "File size for time2win.dll is " & cFileSize("time2win.dll") & Chr$(13) & Chr$(13)
  3031.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & Chr$(13) & Chr$(13)
  3032.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & Chr$(13) & Chr$(13)
  3033.    cStartBasisTimer
  3034.    For i = 1 To Item
  3035.       k = cFileSize("time2win.dll")
  3036.    Next i
  3037.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3038.    Label3.Caption = Tmp1
  3039. End Sub
  3040. Sub TestFileSort (SortMethod As Integer, VarFix As Integer)
  3041.    Dim title      As String
  3042.    Dim Tmp        As String
  3043.    Dim Tmp1       As String
  3044.    Dim Tmp2       As String
  3045.    Dim Tmp3       As String
  3046.    Dim i          As Integer
  3047.    Dim j          As Integer
  3048.    Dim n          As Integer
  3049.    Dim m          As Double
  3050.    Tmp = "c:\autoexec.bat"
  3051.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  3052.    Close #1
  3053.    Open Tmp For Input Shared As #1
  3054.    While Not EOF(1)
  3055.       Line Input #1, Tmp3
  3056.       List1.AddItem Tmp3
  3057.    Wend
  3058.    Close #1
  3059.    If (VarFix = False) Then
  3060.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, n)
  3061.    Else
  3062.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  3063.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, n)
  3064.    End If
  3065.    Close #1
  3066.    Open Tmp2 For Input Shared As #1
  3067.    While Not EOF(1)
  3068.       Line Input #1, Tmp3
  3069.       List2.AddItem Tmp3
  3070.    Wend
  3071.    Close #1
  3072.    Select Case SortMethod
  3073.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  3074.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & n & "'"
  3075.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  3076.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & n & "'"
  3077.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  3078.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & n & "'"
  3079.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  3080.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & n & "'"
  3081.    End Select
  3082.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3083.    cStartBasisTimer
  3084.    For i = 1 To ItemFile
  3085.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, n)
  3086.       DoEvents
  3087.    Next i
  3088.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3089.    Label3.Caption = Tmp1
  3090. End Sub
  3091. Sub TestFileSR ()
  3092.    Dim title      As String
  3093.    Dim Tmp        As String
  3094.    Dim Tmp1       As String
  3095.    Dim Tmp2       As String
  3096.    Dim Tmp3       As String
  3097.    Dim Tmp4       As String
  3098.    Dim i          As Integer
  3099.    Dim j          As Long
  3100.    Tmp1 = ""
  3101.    Tmp = "c:\autoexec.bat"
  3102.    Tmp2 = "c:\autoexec.tab"
  3103.    Tmp3 = "REM"
  3104.    Tmp4 = "rem REMARK"
  3105.    'Tmp = "c:\temp\test.txt"
  3106.    'Tmp2 = "c:\temp\test.xtx"
  3107.    'Tmp3 = ";"
  3108.    'Tmp4 = ","
  3109.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3110.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & Chr$(13) & Chr$(13)
  3111.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & Chr$(13) & Chr$(13)
  3112.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & Chr$(13) & Chr$(13)
  3113.    cStartBasisTimer
  3114.    For i = 1 To Item
  3115.       If ((i Mod 2) = 1) Then
  3116.      j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  3117.       Else
  3118.      j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  3119.       End If
  3120.    Next i
  3121.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3122.    Label3.Caption = Tmp1
  3123. End Sub
  3124. Sub TestFilesSize ()
  3125.    Dim title      As String
  3126.    Dim Tmp        As String
  3127.    Dim Tmp1       As String
  3128.    Dim Tmp2       As String
  3129.    Dim i          As Integer
  3130.    Dim j          As Integer
  3131.    Dim k          As Long
  3132.    Dim Size1      As Long
  3133.    Dim Size2      As Long
  3134.    Tmp1 = ""
  3135.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & Chr$(13)
  3136.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & Chr$(13)
  3137.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & Chr$(13)
  3138.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & Chr$(13)
  3139.    Tmp1 = Tmp1 & Chr$(13)
  3140.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & Chr$(13)
  3141.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & Chr$(13)
  3142.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & Chr$(13)
  3143.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & Chr$(13)
  3144.    Tmp1 = Tmp1 & Chr$(13)
  3145.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & Chr$(13)
  3146.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & Chr$(13)
  3147.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & Chr$(13)
  3148.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & Chr$(13)
  3149.    cStartBasisTimer
  3150.    For i = 1 To 10
  3151.       k = cFilesSize("c:\*.*")
  3152.    Next i
  3153.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  3154.    Label3.Caption = Tmp1
  3155. End Sub
  3156. Sub TestFileStatictics ()
  3157.    Dim title      As String
  3158.    Dim Tmp        As String
  3159.    Dim Tmp1       As String
  3160.    Dim Tmp2       As String
  3161.    Dim Tmp3       As String
  3162.    Dim Tmp4       As String
  3163.    Dim i          As Integer
  3164.    Dim j          As Long
  3165.    Dim nL         As Long
  3166.    Dim nW         As Long
  3167.    Dim nC         As Long
  3168.    Tmp1 = ""
  3169.    Tmp = "c:\autoexec.bat"
  3170.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3171.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3172.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3173.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3174.    Tmp = "c:\config.sys"
  3175.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3176.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3177.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3178.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3179.    cStartBasisTimer
  3180.    For i = 1 To Item
  3181.       j = cFileStatistics(Tmp, nL, nW, nC)
  3182.    Next i
  3183.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3184.    Label3.Caption = Tmp1
  3185. End Sub
  3186. Sub TestFileStatistic ()
  3187.    Dim title      As String
  3188.    Dim Tmp        As String
  3189.    Dim Tmp1       As String
  3190.    Dim Tmp2       As String
  3191.    Dim i          As Integer
  3192.    Dim j          As Integer
  3193.    Dim k          As Long
  3194.    Tmp1 = "File drive for time2win.dll is " & cFileDrive("time2win.dll") & Chr$(13) & Chr$(13)
  3195.    Tmp1 = Tmp1 & "File last time modified for time2win.dll is " & cFileLastTimeModified("time2win.dll") & Chr$(13) & Chr$(13)
  3196.    Tmp1 = Tmp1 & "File last date modified for time2win.dll is " & cFileLastDateModified("time2win.dll") & Chr$(13) & Chr$(13)
  3197.    cStartBasisTimer
  3198.    For i = 1 To ItemFile
  3199.       Tmp = cFileDrive("time2win.dll")
  3200.    Next i
  3201.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3202.    Label3.Caption = Tmp1
  3203. End Sub
  3204. Sub TestFileToX ()
  3205.    Dim title      As String
  3206.    Dim Tmp        As String
  3207.    Dim Tmp1       As String
  3208.    Dim Tmp2       As String
  3209.    Dim Tmp3       As String
  3210.    Dim i          As Integer
  3211.    Dim j          As Long
  3212.    Tmp1 = ""
  3213.    Tmp = "c:\autoexec.bat"
  3214.    Tmp2 = "c:\autoexec.lwr"
  3215.    Tmp3 = "c:\autoexec.upr"
  3216.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3217.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & Chr$(13) & Chr$(13)
  3218.    cStartBasisTimer
  3219.    For i = 1 To Item
  3220.       j = cFileToLower(Tmp, Tmp2)
  3221.    Next i
  3222.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3223.    Label3.Caption = Tmp1
  3224. End Sub
  3225. Sub TestFileVersion ()
  3226.    Dim title      As String
  3227.    Dim Tmp        As String
  3228.    Dim Tmp1       As String
  3229.    Dim Tmp2       As String
  3230.    Dim i          As Integer
  3231.    Dim j          As Integer
  3232.    Dim k          As Long
  3233.    Dim Status                 As Integer
  3234.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3235.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3236.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3237.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3238.    Next i
  3239.    Tmp = cGetSystemDirectory() & "\time2win.dll"
  3240.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3241.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3242.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3243.    Next i
  3244.    cStartBasisTimer
  3245.    For i = 1 To ItemFile
  3246.       Tmp = cGetFileVersion(Tmp, -1)
  3247.    Next i
  3248.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3249.    Label3.Caption = Tmp1
  3250. End Sub
  3251. Sub TestFileVersionInfo ()
  3252.    Dim title      As String
  3253.    Dim Tmp        As String
  3254.    Dim Tmp1       As String
  3255.    Dim Tmp2       As String
  3256.    Dim i          As Integer
  3257.    Dim j          As Integer
  3258.    Dim k          As Long
  3259.    Dim Status                 As Integer
  3260.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  3261.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3262.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3263.    Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3264.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3265.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3266.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3267.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3268.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3269.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3270.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3271.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3272.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3273.    Tmp = cGetSystemDirectory() & "\time2win.dll"
  3274.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3275.    Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3276.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3277.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3278.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3279.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3280.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3281.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3282.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3283.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3284.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3285.    cStartBasisTimer
  3286.    For i = 1 To ItemFile
  3287.       Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3288.    Next i
  3289.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3290.    Label3.Caption = Tmp1
  3291. End Sub
  3292. Sub TestFill ()
  3293.    Dim title      As String
  3294.    Dim Tmp        As String
  3295.    Dim Tmp1       As String
  3296.    Dim Tmp2       As String
  3297.    Dim i          As Integer
  3298.    Dim j          As Integer
  3299.    Tmp = Text1.Text
  3300.    title = "Fill of [" & Tmp & "] with [*=] is "
  3301.    Call cFill(Tmp, "*=")
  3302.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  3303.    cStartBasisTimer
  3304.    For i = 1 To Item
  3305.       Call cFill(Tmp, "=*")
  3306.    Next i
  3307.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3308.    Label3.Caption = Tmp1
  3309. End Sub
  3310. Sub TestFillI ()
  3311.    Dim title      As String
  3312.    Dim Tmp        As String
  3313.    Dim Tmp1       As String
  3314.    Dim Tmp2       As String
  3315.    Dim i          As Integer
  3316.    Dim j          As Integer
  3317.    Dim m          As Double
  3318.    ReDim array(ItemMean) As Integer
  3319.    Randomize Timer
  3320.    For i = LBound(array) To UBound(array)
  3321.       array(i) = 0
  3322.       List1.AddItem "" & array(i)
  3323.    Next i
  3324.    j = cFillI(array(), 1)
  3325.    For i = LBound(array) To UBound(array)
  3326.       List2.AddItem "" & array(i)
  3327.    Next i
  3328.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3329.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3330.    cStartBasisTimer
  3331.    For i = 1 To ItemFile
  3332.       j = cFillI(array(), 1)
  3333.    Next i
  3334.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3335.    Label3.Caption = Tmp1
  3336. End Sub
  3337. Sub TestFillIncrI ()
  3338.    Dim title      As String
  3339.    Dim Tmp        As String
  3340.    Dim Tmp1       As String
  3341.    Dim Tmp2       As String
  3342.    Dim i          As Integer
  3343.    Dim j          As Integer
  3344.    Dim m          As Double
  3345.    ReDim array(ItemMean) As Integer
  3346.    Randomize Timer
  3347.    For i = LBound(array) To UBound(array)
  3348.       array(i) = 0
  3349.       List1.AddItem "" & array(i)
  3350.    Next i
  3351.    j = cFillIncrI(array(), -2, 3)
  3352.    For i = LBound(array) To UBound(array)
  3353.       List2.AddItem "" & array(i)
  3354.    Next i
  3355.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3356.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3357.    cStartBasisTimer
  3358.    For i = 1 To ItemFile
  3359.       j = cFillIncrI(array(), 1, 3)
  3360.    Next i
  3361.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3362.    Label3.Caption = Tmp1
  3363. End Sub
  3364. Sub TestFilterBlocks ()
  3365.    Dim title      As String
  3366.    Dim Tmp        As String
  3367.    Dim Tmp1       As String
  3368.    Dim Tmp2       As String
  3369.    Dim i          As Integer
  3370.    Dim j          As Integer
  3371.    Tmp = Text1.Text
  3372.    title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3373.    Tmp1 = title & cFilterBlocks(Tmp, "//") & Chr$(13) & Chr$(13)
  3374.    title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3375.    Tmp1 = Tmp1 & title & cFilterBlocks(Tmp, "BI") & Chr$(13) & Chr$(13)
  3376.    cStartBasisTimer
  3377.    For i = 1 To Item
  3378.       Tmp2 = cFilterBlocks(Tmp, "//")
  3379.    Next i
  3380.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3381.    Label3.Caption = Tmp1
  3382. End Sub
  3383. Sub TestFilterChars ()
  3384.    Dim title      As String
  3385.    Dim Tmp        As String
  3386.    Dim Tmp1       As String
  3387.    Dim Tmp2       As String
  3388.    Dim i          As Integer
  3389.    Dim j          As Integer
  3390.    Tmp = Text1.Text
  3391.    title = "Filter 'B','/' in [" & Tmp & "] is "
  3392.    Tmp1 = title & cFilterChars(Tmp, "B/") & Chr$(13) & Chr$(13)
  3393.    cStartBasisTimer
  3394.    For i = 1 To Item
  3395.       Tmp2 = cFilterChars(Tmp, "B/")
  3396.    Next i
  3397.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3398.    Label3.Caption = Tmp1
  3399. End Sub
  3400. Sub TestFindBitReset ()
  3401.    Dim title      As String
  3402.    Dim Tmp        As String
  3403.    Dim Tmp1       As String
  3404.    Dim Tmp2       As String
  3405.    Dim i          As Integer
  3406.    Dim j          As Integer
  3407.    Tmp = Text1.Text
  3408.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & Chr$(13) & Chr$(13)
  3409.    j = True
  3410.    Do
  3411.       j = cFindBitReset(Tmp, j)
  3412.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3413.    Loop Until (j = True)
  3414.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3415.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3416.    j = 0
  3417.    cStartBasisTimer
  3418.    For i = 1 To Item
  3419.       j = cFindBitReset(Tmp, j)
  3420.    Next i
  3421.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3422.    Label3.Caption = Tmp1
  3423. End Sub
  3424. Sub TestFindBitSet ()
  3425.    Dim title      As String
  3426.    Dim Tmp        As String
  3427.    Dim Tmp1       As String
  3428.    Dim Tmp2       As String
  3429.    Dim i          As Integer
  3430.    Dim j          As Integer
  3431.    Tmp = Text1.Text
  3432.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & Chr$(13) & Chr$(13)
  3433.    j = True
  3434.    Do
  3435.       j = cFindBitSet(Tmp, j)
  3436.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3437.    Loop Until (j = True)
  3438.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3439.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3440.    j = 0
  3441.    cStartBasisTimer
  3442.    For i = 1 To Item
  3443.       j = cFindBitSet(Tmp, j)
  3444.    Next i
  3445.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3446.    Label3.Caption = Tmp1
  3447. End Sub
  3448. Sub TestFindFileInEnv ()
  3449.    Dim title      As String
  3450.    Dim Tmp        As String
  3451.    Dim Tmp1       As String
  3452.    Dim Tmp2       As String
  3453.    Dim i          As Integer
  3454.    Dim j          As Integer
  3455.    j = cFindFileInEnv("win.com", "windir")
  3456.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & Chr$(13) & Chr$(13)
  3457.    cStartBasisTimer
  3458.    For i = 1 To ItemFile
  3459.       j = cFindFileInEnv("win.com", "windir")
  3460.    Next i
  3461.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3462.    Label3.Caption = Tmp1
  3463. End Sub
  3464. Sub TestFindFileInPath ()
  3465.    Dim title      As String
  3466.    Dim Tmp        As String
  3467.    Dim Tmp1       As String
  3468.    Dim Tmp2       As String
  3469.    Dim i          As Integer
  3470.    Dim j          As Integer
  3471.    j = cFindFileInPath("win.com")
  3472.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & Chr$(13) & Chr$(13)
  3473.    cStartBasisTimer
  3474.    For i = 1 To ItemFile
  3475.       j = cFindFileInPath("win.com")
  3476.    Next i
  3477.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3478.    Label3.Caption = Tmp1
  3479. End Sub
  3480. Sub TestFloppyInfo ()
  3481.    Dim title      As String
  3482.    Dim Tmp        As String
  3483.    Dim Tmp1       As String
  3484.    Dim Tmp2       As String
  3485.    Dim i          As Integer
  3486.    Dim j          As Integer
  3487.    Dim nHds       As Integer
  3488.    Dim nCyls      As Integer
  3489.    Dim nSecs      As Integer
  3490.    Tmp1 = ""
  3491.    For i = 1 To 3
  3492.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  3493.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & Chr$(13)
  3494.    Next i
  3495.    Tmp1 = Tmp1 + Chr$(13)
  3496.    cStartBasisTimer
  3497.    For i = 1 To Item
  3498.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  3499.    Next i
  3500.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3501.    Label3.Caption = Tmp1
  3502. End Sub
  3503. Sub TestFullPath ()
  3504.    Dim title      As String
  3505.    Dim Tmp        As String
  3506.    Dim Tmp1       As String
  3507.    Dim Tmp2       As String
  3508.    Dim Tmp3       As String
  3509.    Dim i          As Integer
  3510.    Dim j          As Long
  3511.    Tmp1 = ""
  3512.    Tmp = "C:\AUTOEXEC.BAT"
  3513.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3514.    Tmp = cGetSystemDirectory() & "\TIME2WIN.DLL"
  3515.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3516.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  3517.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3518.    cStartBasisTimer
  3519.    For i = 1 To Item
  3520.       Tmp = cFullPath(Tmp)
  3521.    Next i
  3522.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3523.    Label3.Caption = Tmp1
  3524. End Sub
  3525. Sub TestGetBit ()
  3526.    Dim title      As String
  3527.    Dim Tmp        As String
  3528.    Dim Tmp1       As String
  3529.    Dim Tmp2       As String
  3530.    Dim i          As Integer
  3531.    Dim j          As Integer
  3532.    Tmp = Text1.Text
  3533.    title = "bit 0,7,3 of [" & Tmp & "] is "
  3534.    Tmp1 = title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & Chr$(13) & Chr$(13)
  3535.    title = "bit 23,30,38 of [" & Tmp & "] is "
  3536.    Tmp1 = Tmp1 & title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & Chr$(13) & Chr$(13)
  3537.    cStartBasisTimer
  3538.    For i = 1 To Item
  3539.       j = cGetBit(Tmp, i)
  3540.    Next i
  3541.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3542.    Label3.Caption = Tmp1
  3543. End Sub
  3544. Sub TestGetBlock ()
  3545.    Dim title      As String
  3546.    Dim Tmp        As String
  3547.    Dim Tmp1       As String
  3548.    Dim Tmp2       As String
  3549.    Dim i          As Integer
  3550.    Dim j          As Integer
  3551.    Tmp = Text1.Text
  3552.    title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  3553.    Tmp = Text1.Text
  3554.    Tmp1 = title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & Chr$(13) & Chr$(13)
  3555.    cStartBasisTimer
  3556.    For i = 1 To Item
  3557.       Tmp2 = cGetBlock(Tmp, 1, 2)
  3558.    Next i
  3559.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3560.    Label3.Caption = Tmp1
  3561. End Sub
  3562. Sub TestGetCurrentDrive ()
  3563.    Dim title      As String
  3564.    Dim Tmp        As String
  3565.    Dim Tmp1       As String
  3566.    Dim Tmp2       As String
  3567.    Dim i          As Integer
  3568.    Dim j          As Integer
  3569.    Tmp = cGetCurrentDrive()
  3570.    Tmp1 = Tmp & " is the current drive" & Chr$(13) & Chr$(13)
  3571.    cStartBasisTimer
  3572.    For i = 1 To Item
  3573.       Tmp2 = cGetCurrentDrive()
  3574.       If (Tmp <> Tmp2) Then Beep
  3575.    Next i
  3576.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3577.    Label3.Caption = Tmp1
  3578. End Sub
  3579. Sub TestGetDateSeparator ()
  3580.    Dim title      As String
  3581.    Dim Tmp        As String
  3582.    Dim Tmp1       As String
  3583.    Dim Tmp2       As String
  3584.    Dim i          As Integer
  3585.    Dim j          As Integer
  3586.    Tmp = cGetDateSeparator()
  3587.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & Chr$(13) & Chr$(13)
  3588.    cStartBasisTimer
  3589.    For i = 1 To Item
  3590.       Tmp2 = cGetDateSeparator()
  3591.       If (Tmp <> Tmp2) Then Beep
  3592.    Next i
  3593.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3594.    Label3.Caption = Tmp1
  3595. End Sub
  3596. Sub TestGetDefaultCurrentDir ()
  3597.    Dim title      As String
  3598.    Dim Tmp        As String
  3599.    Dim Tmp1       As String
  3600.    Dim Tmp2       As String
  3601.    Dim i          As Integer
  3602.    Dim j          As Integer
  3603.    Tmp = cGetDefaultCurrentDir()
  3604.    Tmp1 = Tmp & " is the current dir on the default drive" & Chr$(13) & Chr$(13)
  3605.    cStartBasisTimer
  3606.    For i = 1 To Item
  3607.       Tmp2 = cGetDefaultCurrentDir()
  3608.       If (Tmp <> Tmp2) Then Beep
  3609.    Next i
  3610.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3611.    Label3.Caption = Tmp1
  3612. End Sub
  3613. Sub TestGetDiskFree ()
  3614.    Dim title      As String
  3615.    Dim Tmp        As String
  3616.    Dim Tmp1       As String
  3617.    Dim Tmp2       As String
  3618.    Dim i          As Integer
  3619.    Dim j          As Integer
  3620.    Dim k          As Long
  3621.    Dim ErrCode    As Integer
  3622.    Tmp1 = ""
  3623.    For i = 1 To 26
  3624.       k = cGetDiskFree(Chr$(64 + i))
  3625.       If (k <> True) Then
  3626.      Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  3627.       End If
  3628.    Next i
  3629.    Tmp1 = Tmp1 + Chr$(13)
  3630.    cStartBasisTimer
  3631.    For i = 1 To Item
  3632.       k = cGetDiskFree("C")
  3633.    Next i
  3634.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3635.    Label3.Caption = Tmp1
  3636. End Sub
  3637. Sub TestGetDiskSpace ()
  3638.    Dim title      As String
  3639.    Dim Tmp        As String
  3640.    Dim Tmp1       As String
  3641.    Dim Tmp2       As String
  3642.    Dim i          As Integer
  3643.    Dim j          As Integer
  3644.    Dim k          As Long
  3645.    Dim ErrCode    As Integer
  3646.    Tmp1 = ""
  3647.    For i = 1 To 26
  3648.       k = cGetDiskSpace(Chr$(64 + i))
  3649.       If (k <> True) Then
  3650.      Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  3651.       End If
  3652.    Next i
  3653.    Tmp1 = Tmp1 + Chr$(13)
  3654.    cStartBasisTimer
  3655.    For i = 1 To Item
  3656.       k = cGetDiskSpace("C")
  3657.    Next i
  3658.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3659.    Label3.Caption = Tmp1
  3660. End Sub
  3661. Sub TestGetDiskUsed ()
  3662.    Dim title      As String
  3663.    Dim Tmp        As String
  3664.    Dim Tmp1       As String
  3665.    Dim Tmp2       As String
  3666.    Dim i          As Integer
  3667.    Dim j          As Integer
  3668.    Dim k          As Long
  3669.    Dim ErrCode    As Integer
  3670.    Tmp1 = ""
  3671.    For i = 1 To 26
  3672.       k = cGetDiskUsed(Chr$(64 + i))
  3673.       If (k <> True) Then
  3674.      Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  3675.       End If
  3676.    Next i
  3677.    Tmp1 = Tmp1 + Chr$(13)
  3678.    cStartBasisTimer
  3679.    For i = 1 To Item
  3680.       k = cGetDiskUsed("C")
  3681.    Next i
  3682.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3683.    Label3.Caption = Tmp1
  3684. End Sub
  3685. Sub TestGetDriveCurrentDir ()
  3686.    Dim title      As String
  3687.    Dim Tmp        As String
  3688.    Dim Tmp1       As String
  3689.    Dim Tmp2       As String
  3690.    Dim i          As Integer
  3691.    Dim j          As Integer
  3692.    Tmp1 = ""
  3693.    For i = 1 To 26
  3694.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  3695.       If (Tmp <> "") Then
  3696.      Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  3697.       Else
  3698.      If (i = 1) Then Tmp1 = Tmp1 & Chr$(9) & "drive A: is missing" & Chr$(13)
  3699.      If (i = 2) Then Tmp1 = Tmp1 & Chr$(9) & "drive B: is missing" & Chr$(13)
  3700.       End If
  3701.    Next i
  3702.    Tmp1 = Tmp1 + Chr$(13)
  3703.    cStartBasisTimer
  3704.    For i = 1 To Item
  3705.       Tmp2 = cGetDriveCurrentDir("C")
  3706.    Next i
  3707.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3708.    Label3.Caption = Tmp1
  3709. End Sub
  3710. Sub TestGetFullnameInEnv ()
  3711.    Dim title      As String
  3712.    Dim Tmp        As String
  3713.    Dim Tmp1       As String
  3714.    Dim Tmp2       As String
  3715.    Dim i          As Integer
  3716.    Dim j          As Integer
  3717.    Tmp = cGetFullNameInEnv("win.com", "windir")
  3718.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & Chr$(13) & Chr$(13)
  3719.    cStartBasisTimer
  3720.    For i = 1 To ItemFile
  3721.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  3722.    Next i
  3723.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3724.    Label3.Caption = Tmp1
  3725. End Sub
  3726. Sub TestGetFullnameInPath ()
  3727.    Dim title      As String
  3728.    Dim Tmp        As String
  3729.    Dim Tmp1       As String
  3730.    Dim Tmp2       As String
  3731.    Dim i          As Integer
  3732.    Dim j          As Integer
  3733.    Tmp = cGetFullNameInPath("win.com")
  3734.    Tmp1 = "Full path for 'win.com' is " & Tmp & Chr$(13) & Chr$(13)
  3735.    cStartBasisTimer
  3736.    For i = 1 To ItemFile
  3737.       Tmp2 = cGetFullNameInPath("win.com")
  3738.    Next i
  3739.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3740.    Label3.Caption = Tmp1
  3741. End Sub
  3742. Sub TestGetIn ()
  3743.    Dim title      As String
  3744.    Dim Tmp        As String
  3745.    Dim Tmp1       As String
  3746.    Dim Tmp2       As String
  3747.    Dim i          As Integer
  3748.    Dim j          As Integer
  3749.    Tmp = Text1.Text
  3750.    title = "The 2,4,1 blocks of [" & Tmp & "] are "
  3751.    Tmp = Text1.Text
  3752.    Tmp1 = title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  3753.    cStartBasisTimer
  3754.    For i = 1 To Item
  3755.       Tmp2 = cGetIn(Tmp, "/", 2)
  3756.    Next i
  3757.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3758.    Label3.Caption = Tmp1
  3759. End Sub
  3760. Sub TestGetInR ()
  3761.           
  3762.    Dim title      As String
  3763.    Dim Tmp        As String
  3764.    Dim Tmp1       As String
  3765.    Dim Tmp2       As String
  3766.    Dim i          As Integer
  3767.    Dim j          As Integer
  3768.    Tmp = Text1.Text
  3769.    Tmp1 = Tmp1 + "GetInR" & Chr$(13)
  3770.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  3771.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  3772.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  3773.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  3774.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & Chr$(13) & Chr$(13)
  3775.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  3776.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  3777.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & Chr$(13) & Chr$(13)
  3778.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  3779.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  3780.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  3781.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & Chr$(13) & Chr$(13)
  3782.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  3783.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  3784.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & Chr$(13) & Chr$(13)
  3785.    cStartBasisTimer
  3786.    For i = 1 To Item
  3787.       Tmp2 = cGetInR(Tmp, "/", 2)
  3788.    Next i
  3789.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3790.    Label3.Caption = Tmp1
  3791. End Sub
  3792. Sub TestGetNetConnection ()
  3793.    Dim title      As String
  3794.    Dim Tmp        As String
  3795.    Dim Tmp1       As String
  3796.    Dim Tmp2       As String
  3797.    Dim i          As Integer
  3798.    Dim j          As Integer
  3799.    Dim ErrCode    As Integer
  3800.    Tmp1 = ""
  3801.    For i = 1 To 26
  3802.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  3803.       If (ErrCode = True) Then
  3804.      Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  3805.       End If
  3806.    Next i
  3807.    For i = 1 To 3
  3808.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  3809.       If (ErrCode = True) Then
  3810.      Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & Chr$(13)
  3811.       End If
  3812.    Next i
  3813.    Tmp1 = Tmp1 + Chr$(13)
  3814.    cStartBasisTimer
  3815.    For i = 1 To ItemFile
  3816.       Tmp = cGetNetConnection("C", ErrCode)
  3817.    Next i
  3818.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3819.    Label3.Caption = Tmp1
  3820. End Sub
  3821. Sub TestGetSystemDirectory ()
  3822.    Dim title      As String
  3823.    Dim Tmp        As String
  3824.    Dim Tmp1       As String
  3825.    Dim Tmp2       As String
  3826.    Dim i          As Integer
  3827.    Dim j          As Integer
  3828.    Tmp = cGetSystemDirectory()
  3829.    Tmp1 = Tmp & " is the system directory for Windows" & Chr$(13) & Chr$(13)
  3830.    cStartBasisTimer
  3831.    For i = 1 To Item
  3832.       Tmp2 = cGetSystemDirectory()
  3833.       If (Tmp <> Tmp2) Then Beep
  3834.    Next i
  3835.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3836.    Label3.Caption = Tmp1
  3837. End Sub
  3838. Sub TestGetTimeSeparator ()
  3839.    Dim title      As String
  3840.    Dim Tmp        As String
  3841.    Dim Tmp1       As String
  3842.    Dim Tmp2       As String
  3843.    Dim i          As Integer
  3844.    Dim j          As Integer
  3845.    Tmp = cGetTimeSeparator()
  3846.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & Chr$(13) & Chr$(13)
  3847.    cStartBasisTimer
  3848.    For i = 1 To Item
  3849.       Tmp2 = cGetTimeSeparator()
  3850.       If (Tmp <> Tmp2) Then Beep
  3851.    Next i
  3852.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3853.    Label3.Caption = Tmp1
  3854. End Sub
  3855. Sub TestGetWindowsDirectory ()
  3856.    Dim title      As String
  3857.    Dim Tmp        As String
  3858.    Dim Tmp1       As String
  3859.    Dim Tmp2       As String
  3860.    Dim i          As Integer
  3861.    Dim j          As Integer
  3862.    Tmp = cGetWindowsDirectory()
  3863.    Tmp1 = Tmp & " is the directory for Windows" & Chr$(13) & Chr$(13)
  3864.    cStartBasisTimer
  3865.    For i = 1 To Item
  3866.       Tmp2 = cGetWindowsDirectory()
  3867.       If (Tmp <> Tmp2) Then Beep
  3868.    Next i
  3869.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3870.    Label3.Caption = Tmp1
  3871. End Sub
  3872. Sub TestGiveBitPalindrome ()
  3873.    Dim title      As String
  3874.    Dim Tmp        As String
  3875.    Dim Tmp1       As String
  3876.    Dim Tmp2       As String
  3877.    Dim i          As Integer
  3878.    Dim j          As Integer
  3879.    title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  3880.    Tmp1 = Tmp1 & title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & Chr$(13) & Chr$(13)
  3881.    cStartBasisTimer
  3882.    For i = 1 To Item
  3883.       Tmp2 = cGiveBitPalindrome()
  3884.    Next i
  3885.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3886.    Label3.Caption = Tmp1
  3887. End Sub
  3888. Sub TestHideAllEditForm ()
  3889.    Dim n       As Integer
  3890.    Dim Tmp     As String
  3891.    If (cHideAllEditForm() = True) Then
  3892.       Tmp = "HideAllEditForm SUCCESS"
  3893.    Else
  3894.       Tmp = "HideAllEditForm FAIL"
  3895.    End If
  3896.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  3897.    Label3.Caption = Tmp
  3898.    DoEvents
  3899.    n = cSleep(2000)
  3900.    If (cUnHideAllEditForm() = True) Then
  3901.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  3902.    Else
  3903.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  3904.    End If
  3905.    Label3.Caption = Tmp
  3906. End Sub
  3907. Sub TestHideDebugForm ()
  3908.    Dim n       As Integer
  3909.    Dim Tmp     As String
  3910.    If (cHideDebugForm() = True) Then
  3911.       Tmp = "HideDebugForm SUCCESS"
  3912.    Else
  3913.       Tmp = "HideDebugForm FAIL"
  3914.    End If
  3915.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  3916.    Label3.Caption = Tmp
  3917.    DoEvents
  3918.    n = cSleep(2000)
  3919.    If (cUnHideDebugForm() = True) Then
  3920.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  3921.    Else
  3922.       Tmp = Tmp & "UnHideDebugForm FAIL"
  3923.    End If
  3924.    Label3.Caption = Tmp
  3925. End Sub
  3926. Sub TestHMAL (Management As Integer)
  3927.    Dim Tmp        As String
  3928.    Dim ErrCode    As Integer
  3929.    Dim HMA        As tagHMA
  3930.    HMA.nType = DA_LONG
  3931.    HMA.nIsTyped = False
  3932.    HMA.nRows = 100
  3933.    HMA.nCols = 100
  3934.    HMA.nSheets = 2
  3935.    ErrCode = cHMACreate(HMA)
  3936.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  3937.    If (ErrCode = True) Then
  3938.       
  3939.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  3940.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  3941.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  3942.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  3943.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  3944.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  3945.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  3946.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  3947.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  3948.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  3949.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  3950.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  3951.       
  3952.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  3953.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  3954.       
  3955.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  3956.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  3957.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  3958.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  3959.       
  3960.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  3961.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  3962.       If (Management > 0) Then
  3963.      Select Case Management
  3964.         Case 1         'clear all
  3965.            ErrCode = cHMAClear(HMA)
  3966.         Case 2         'clear sheet 2
  3967.            ErrCode = cHMAClearSheet(HMA, 2)
  3968.         Case 3         'clear last row
  3969.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  3970.         Case 4         'clear last col
  3971.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  3972.         Case 5         'clear last row in all sheets
  3973.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  3974.         Case 6         'clear last col in all sheets
  3975.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  3976.      End Select
  3977.      Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  3978.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  3979.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  3980.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  3981.       End If
  3982.    End If
  3983.    ErrCode = cHMAFree(HMA)
  3984.    Label3.Caption = Tmp
  3985. End Sub
  3986. Sub TestHMAStr (Management As Integer)
  3987.    Dim Tmp        As String
  3988.    Dim ErrCode    As Integer
  3989.    Dim HMA        As tagHMA
  3990.    HMA.nType = 50
  3991.    HMA.nIsTyped = False
  3992.    HMA.nRows = 100
  3993.    HMA.nCols = 100
  3994.    HMA.nSheets = 2
  3995.    ErrCode = cHMACreate(HMA)
  3996.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  3997.    If (ErrCode = True) Then
  3998.       
  3999.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4000.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4001.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4002.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4003.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4004.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4005.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4006.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4007.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4008.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4009.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4010.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4011.       
  4012.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  4013.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  4014.       
  4015.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  4016.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  4017.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4018.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4019.       
  4020.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4021.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4022.       If (Management > 0) Then
  4023.      Select Case Management
  4024.         Case 1         'clear all
  4025.            ErrCode = cHMAClear(HMA)
  4026.         Case 2         'clear sheet 2
  4027.            ErrCode = cHMAClearSheet(HMA, 2)
  4028.         Case 3         'clear last row
  4029.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4030.         Case 4         'clear last col
  4031.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4032.         Case 5         'clear last row in all sheets
  4033.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4034.         Case 6         'clear last col in all sheets
  4035.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4036.      End Select
  4037.      Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4038.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4039.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4040.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4041.       End If
  4042.    End If
  4043.    ErrCode = cHMAFree(HMA)
  4044.    Label3.Caption = Tmp
  4045. End Sub
  4046. Sub TestHMAType (Management As Integer)
  4047.    Dim Tmp        As String
  4048.    Dim ErrCode    As Integer
  4049.    Dim HMA        As tagHMA
  4050.    Dim TE         As tagTASKENTRY
  4051.    HMA.nType = Len(TE)
  4052.    HMA.nIsTyped = True
  4053.    HMA.nRows = 100
  4054.    HMA.nCols = 100
  4055.    HMA.nSheets = 2
  4056.    ErrCode = cHMACreate(HMA)
  4057.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4058.    If (ErrCode = True) Then
  4059.       
  4060.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4061.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4062.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4063.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4064.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4065.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4066.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4067.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4068.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4069.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4070.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4071.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4072.       ErrCode = cTasks(TE, True)
  4073.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  4074.       ErrCode = cTasks(TE, False)
  4075.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4076.       
  4077.       ErrCode = cTasks(TE, False)
  4078.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  4079.       ErrCode = cTasks(TE, False)
  4080.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  4081.       
  4082.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  4083.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4084.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4085.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4086.       
  4087.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4088.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4089.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4090.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13) & Chr$(13)
  4091.       If (Management > 0) Then
  4092.      Select Case Management
  4093.         Case 1         'clear all
  4094.            ErrCode = cHMAClear(HMA)
  4095.         Case 2         'clear sheet 2
  4096.            ErrCode = cHMAClearSheet(HMA, 2)
  4097.         Case 3         'clear last row
  4098.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4099.         Case 4         'clear last col
  4100.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4101.         Case 5         'clear last row in all sheets
  4102.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4103.         Case 6         'clear last col in all sheets
  4104.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4105.      End Select
  4106.      Call cHMAGetType(HMA, 1, 1, 1, TE)
  4107.      Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4108.      Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4109.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4110.       
  4111.      Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4112.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4113.      Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4114.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4115.       End If
  4116.    End If
  4117.    ErrCode = cHMAFree(HMA)
  4118.    Label3.Caption = Tmp
  4119. End Sub
  4120. Sub TestHourTo ()
  4121.    Dim title      As String
  4122.    Dim Tmp        As String
  4123.    Dim Tmp1       As String
  4124.    Dim Tmp2       As String
  4125.    Dim i          As Integer
  4126.    Dim j          As Integer
  4127.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & Chr$(13)
  4128.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & Chr$(13)
  4129.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & Chr$(13)
  4130.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & Chr$(13)
  4131.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & Chr$(13)
  4132.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & Chr$(13) & Chr$(13)
  4133.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & Chr$(13)
  4134.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & Chr$(13)
  4135.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & Chr$(13)
  4136.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & Chr$(13)
  4137.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & Chr$(13)
  4138.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & Chr$(13) & Chr$(13)
  4139.    cStartBasisTimer
  4140.    For i = 1 To Item
  4141.       j = cHourTo("23:59")
  4142.    Next i
  4143.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4144.    Label3.Caption = Tmp1
  4145. End Sub
  4146. Sub TestInpBox ()
  4147.    Dim i       As Integer
  4148.    Dim n       As Integer
  4149.    Dim Tmp     As String
  4150.    Dim Tmp1    As String
  4151.    Tmp = "'TIME TO WIN'" & Chr$(13) & Chr$(13)
  4152.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13)
  4153.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13)
  4154.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13)
  4155.    Tmp = Tmp & "The system menu is also in French."
  4156.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  4157.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  4158. End Sub
  4159. Sub TestInsertBlocks ()
  4160.    Dim title      As String
  4161.    Dim Tmp        As String
  4162.    Dim Tmp1       As String
  4163.    Dim Tmp2       As String
  4164.    Dim i          As Integer
  4165.    Dim j          As Integer
  4166.    Tmp = "A~BC~DEF~GHIJ~"
  4167.    title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4168.    Tmp1 = title & cInsertBlocks(Tmp, "a~bc~def~ghij") & Chr$(13) & Chr$(13)
  4169.    title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4170.    Tmp1 = Tmp1 & title & cInsertBlocks(Tmp, "") & Chr$(13) & Chr$(13)
  4171.    cStartBasisTimer
  4172.    For i = 1 To Item
  4173.       Tmp2 = cInsertBlocks(Tmp, "a")
  4174.    Next i
  4175.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4176.    Label3.Caption = Tmp1
  4177. End Sub
  4178. Sub TestInsertBlocksBy ()
  4179.    Dim title      As String
  4180.    Dim Tmp        As String
  4181.    Dim Tmp1       As String
  4182.    Dim Tmp2       As String
  4183.    Dim i          As Integer
  4184.    Dim j          As Integer
  4185.    Tmp = Text1.Text
  4186.    title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4187.    Tmp1 = title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & Chr$(13) & Chr$(13)
  4188.    title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4189.    Tmp1 = Tmp1 & title & cInsertBlocksBy(Tmp, "", "/") & Chr$(13) & Chr$(13)
  4190.    cStartBasisTimer
  4191.    For i = 1 To Item
  4192.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  4193.    Next i
  4194.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4195.    Label3.Caption = Tmp1
  4196. End Sub
  4197. Sub TestInsertChars ()
  4198.    Dim title      As String
  4199.    Dim Tmp        As String
  4200.    Dim Tmp1       As String
  4201.    Dim Tmp2       As String
  4202.    Dim i          As Integer
  4203.    Dim j          As Integer
  4204.    Tmp = Text1.Text
  4205.    title = "Insert 'a' from 7 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4206.    Tmp1 = title & cInsertChars(Tmp, 7, "a") & Chr$(13) & Chr$(13)
  4207.    title = "Insert '10$' from 2 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4208.    Tmp1 = Tmp1 & title & cInsertChars(Tmp, 2, "10$") & Chr$(13) & Chr$(13)
  4209.    title = "Insert '@' from 21 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4210.    Tmp1 = Tmp1 & title & cInsertChars(Tmp, 21, "@") & Chr$(13) & Chr$(13)
  4211.    cStartBasisTimer
  4212.    For i = 1 To Item
  4213.       Tmp2 = cInsertChars(Tmp, 1, "a")
  4214.    Next i
  4215.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4216.    Label3.Caption = Tmp1
  4217. End Sub
  4218. Sub TestIntoBalance ()
  4219.    Dim title      As String
  4220.    Dim Tmp        As String
  4221.    Dim Tmp1       As String
  4222.    Dim Tmp2       As String
  4223.    Dim i          As Integer
  4224.    Dim j          As Integer
  4225.    j = 1234
  4226.    title = "Convert minutes into balance : " & Chr$(13) & Chr$(13)
  4227.    Tmp1 = title & Chr$(13)
  4228.    For i = 0 To 11
  4229.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  4230.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & Chr$(13)
  4231.    Next i
  4232.    Tmp1 = Tmp1 & Chr$(13)
  4233.    cStartBasisTimer
  4234.    For i = 1 To Item
  4235.       Tmp2 = cIntoBalanceFill(i)
  4236.    Next i
  4237.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4238.    Label3.Caption = Tmp1
  4239. End Sub
  4240. Sub TestIntoFixHour ()
  4241.    Dim title      As String
  4242.    Dim Tmp        As String
  4243.    Dim Tmp1       As String
  4244.    Dim Tmp2       As String
  4245.    Dim i          As Integer
  4246.    Dim j          As Integer
  4247.    j = 12345
  4248.    title = "Convert " & j & " minutes into fixed hour : " & Chr$(13) & Chr$(13)
  4249.    Tmp1 = title & Chr$(13)
  4250.    For i = 0 To 11
  4251.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  4252.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & Chr$(13)
  4253.    Next i
  4254.    Tmp1 = Tmp1 & Chr$(13)
  4255.    cStartBasisTimer
  4256.    For i = 1 To Item
  4257.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  4258.    Next i
  4259.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4260.    Label3.Caption = Tmp1
  4261. End Sub
  4262. Sub TestIntoHour ()
  4263.    Dim title      As String
  4264.    Dim Tmp        As String
  4265.    Dim Tmp1       As String
  4266.    Dim Tmp2       As String
  4267.    Dim i          As Integer
  4268.    Dim j          As Integer
  4269.    j = 1234
  4270.    title = "Convert minutes into hour : " & Chr$(13) & Chr$(13)
  4271.    Tmp1 = title & Chr$(13)
  4272.    For i = 0 To 11
  4273.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & Chr$(13)
  4274.    Next i
  4275.    Tmp1 = Tmp1 & Chr$(13)
  4276.    cStartBasisTimer
  4277.    For i = 1 To Item
  4278.       Tmp2 = cIntoHour(i)
  4279.    Next i
  4280.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4281.    Label3.Caption = Tmp1
  4282. End Sub
  4283. Sub TestIntoVarHour ()
  4284.    Dim title      As String
  4285.    Dim Tmp        As String
  4286.    Dim Tmp1       As String
  4287.    Dim Tmp2       As String
  4288.    Dim i          As Integer
  4289.    Dim j          As Integer
  4290.    Dim k          As Long
  4291.                 
  4292.    title = "Convert minutes into variable hour : " & Chr$(13) & Chr$(13)
  4293.    Tmp1 = title & Chr$(13)
  4294.    For i = 1 To 9
  4295.       Tmp2 = Tmp2 & (10 - i)
  4296.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & Chr$(13)
  4297.    Next i
  4298.    Tmp1 = Tmp1 & Chr$(13)
  4299.    cStartBasisTimer
  4300.    For i = 1 To Item
  4301.       Tmp2 = cIntoVarHour(123456789)
  4302.    Next i
  4303.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4304.    Label3.Caption = Tmp1
  4305. End Sub
  4306. Sub TestIsBitPalindrome ()
  4307.    Dim title      As String
  4308.    Dim Tmp        As String
  4309.    Dim Tmp1       As String
  4310.    Dim Tmp2       As String
  4311.    Dim i          As Integer
  4312.    Dim j          As Integer
  4313.    Tmp = Text1.Text
  4314.    title = "[" & Tmp & "] is "
  4315.    Tmp1 = title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & Chr$(13) & Chr$(13)
  4316.    For i = 1 To 255
  4317.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  4318.    Next i
  4319.    title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4320.    Tmp1 = Tmp1 & title & Tmp2 & Chr$(13) & Chr$(13)
  4321.    cStartBasisTimer
  4322.    For i = 1 To Item
  4323.       j = cIsPalindrome(Tmp)
  4324.    Next i
  4325.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4326.    Label3.Caption = Tmp1
  4327. End Sub
  4328. Sub TestIsFileX ()
  4329.    Dim title      As String
  4330.    Dim Tmp        As String
  4331.    Dim Tmp1       As String
  4332.    Dim Tmp2       As String
  4333.    Dim i          As Integer
  4334.    Dim j          As Integer
  4335.    Tmp = cFilesInDirectory("*.*", True)
  4336.    title = "[" & Tmp & "] is "
  4337.    Tmp1 = title & Chr$(13) & Chr$(13)
  4338.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & Chr$(13)
  4339.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & Chr$(13)
  4340.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & Chr$(13)
  4341.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & Chr$(13)
  4342.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & Chr$(13)
  4343.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & Chr$(13)
  4344.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & Chr$(13)
  4345.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & Chr$(13) & Chr$(13)
  4346.    cStartBasisTimer
  4347.    For i = 1 To Item
  4348.       j = cIsFileArchive(Tmp)
  4349.    Next i
  4350.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4351.    Label3.Caption = Tmp1
  4352. End Sub
  4353. Sub TestIsPalindrome ()
  4354.    Dim title      As String
  4355.    Dim Tmp        As String
  4356.    Dim Tmp1       As String
  4357.    Dim Tmp2       As String
  4358.    Dim i          As Integer
  4359.    Dim j          As Integer
  4360.    Tmp = Text1.Text
  4361.    title = "[" & Tmp & "] is "
  4362.    Tmp1 = title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & Chr$(13) & Chr$(13)
  4363.    cStartBasisTimer
  4364.    For i = 1 To Item
  4365.       j = cIsPalindrome(Tmp)
  4366.    Next i
  4367.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4368.    Label3.Caption = Tmp1
  4369. End Sub
  4370. Sub TestIsX ()
  4371.    Dim title      As String
  4372.    Dim Tmp        As String
  4373.    Dim Tmp1       As String
  4374.    Dim Tmp2       As String
  4375.    Dim i          As Integer
  4376.    Dim j          As Integer
  4377.    Tmp = Text1.Text
  4378.    Tmp1 = "[" & Tmp & "] is " & Chr$(13)
  4379.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & Chr$(13)
  4380.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & Chr$(13)
  4381.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & Chr$(13)
  4382.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & Chr$(13)
  4383.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4384.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & Chr$(13)
  4385.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4386.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & Chr$(13)
  4387.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & Chr$(13)
  4388.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & Chr$(13)
  4389.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & Chr$(13)
  4390.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & Chr$(13)
  4391.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & Chr$(13) & Chr$(13)
  4392.    cStartBasisTimer
  4393.    For i = 1 To Item
  4394.       j = cIsDigit(Tmp)
  4395.    Next i
  4396.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4397.    Label3.Caption = Tmp1
  4398. End Sub
  4399. Sub TestKillDir ()
  4400.    Dim title      As String
  4401.    Dim Tmp        As String
  4402.    Dim Tmp1       As String
  4403.    Dim Tmp2       As String
  4404.    Dim i          As Integer
  4405.    Dim j          As Integer
  4406.    j = cMakeDir("c:\testing")
  4407.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  4408.    cStartBasisTimer
  4409.    For i = 1 To ItemFile
  4410.       j = cKillDir("c:\testing")
  4411.    Next i
  4412.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4413.    Label3.Caption = Tmp1
  4414. End Sub
  4415. Sub TestKillFile ()
  4416.    Dim title      As String
  4417.    Dim Tmp        As String
  4418.    Dim Tmp1       As String
  4419.    Dim Tmp2       As String
  4420.    Dim i          As Integer
  4421.    Dim j          As Integer
  4422.    Close #1
  4423.    Open "XY~YX~XY.~~~" For Output As #1
  4424.    Print #1, "this is a test";
  4425.    Close #1
  4426.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & Chr$(13) & Chr$(13)
  4427.    cStartBasisTimer
  4428.    For i = 1 To Item
  4429.       j = cKillFile("XY~YX~XY.~~~")
  4430.    Next i
  4431.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4432.    Label3.Caption = Tmp1
  4433. End Sub
  4434. Sub TestKillFiles ()
  4435.    Dim title      As String
  4436.    Dim Tmp        As String
  4437.    Dim Tmp1       As String
  4438.    Dim Tmp2       As String
  4439.    Dim i          As Integer
  4440.    Dim j          As Integer
  4441.    For i = 1 To 34
  4442.       Close #1
  4443.       Open "C:\XY~YX~XY." & i For Output As #1
  4444.       Print #1, "this is a test";
  4445.       Close #1
  4446.    Next i
  4447.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & Chr$(13) & Chr$(13)
  4448.    cStartBasisTimer
  4449.    For i = 1 To ItemFile
  4450.       j = cKillFiles("C:\XY~YX~XY.~~~")
  4451.    Next i
  4452.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4453.    Label3.Caption = Tmp1
  4454. End Sub
  4455. Sub TestLanguage ()
  4456.    Dim title      As String
  4457.    Dim Tmp        As String
  4458.    Dim Tmp1       As String
  4459.    Dim Tmp2       As String
  4460.    Dim i          As Integer
  4461.    Dim j          As Integer
  4462.    Dim k          As Long
  4463.    Dim ErrCode    As Integer
  4464.    k = Int(Now)
  4465.    Tmp1 = ""
  4466.    For i = LNG_FRENCH To LNG_SPANISH
  4467.       Tmp1 = Tmp1 + cGetLongDay(i, Weekday(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  4468.    Next i
  4469.    Tmp1 = Tmp1 + Chr$(13)
  4470.    For i = LNG_FRENCH To LNG_SPANISH
  4471.       Tmp1 = Tmp1 + cGetShortDay(i, Weekday(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  4472.    Next i
  4473.    Tmp1 = Tmp1 + Chr$(13)
  4474.    cStartBasisTimer
  4475.    For i = 1 To Item
  4476.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  4477.    Next i
  4478.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4479.    Label3.Caption = Tmp1
  4480. End Sub
  4481. Sub TestLrc ()
  4482.    Dim title      As String
  4483.    Dim Tmp        As String
  4484.    Dim Tmp1       As String
  4485.    Dim Tmp2       As String
  4486.    Dim i          As Integer
  4487.    Dim j          As Integer
  4488.    Tmp = Chr$(2) & "0a12721536"
  4489.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & Chr$(13) & Chr$(13)
  4490.    cStartBasisTimer
  4491.    For i = 1 To Item
  4492.       Tmp2 = cLrc(Tmp)
  4493.    Next i
  4494.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4495.    Label3.Caption = Tmp1
  4496. End Sub
  4497. Sub TestMakeDir ()
  4498.    Dim title      As String
  4499.    Dim Tmp        As String
  4500.    Dim Tmp1       As String
  4501.    Dim Tmp2       As String
  4502.    Dim i          As Integer
  4503.    Dim j          As Integer
  4504.    j = cKillDir("testing")
  4505.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & Chr$(13) & Chr$(13)
  4506.    cStartBasisTimer
  4507.    For i = 1 To ItemFile
  4508.       j = cMakeDir("testing")
  4509.    Next i
  4510.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4511.    Label3.Caption = Tmp1
  4512. End Sub
  4513. Sub TestMakePath ()
  4514.    Dim title      As String
  4515.    Dim Tmp        As String
  4516.    Dim Tmp1       As String
  4517.    Dim Tmp2       As String
  4518.    Dim Tmp3       As String
  4519.    Dim i          As Integer
  4520.    Dim n          As Integer
  4521.    Dim j          As Long
  4522.    Dim SPLITPATH  As tagSPLITPATH
  4523.    Tmp1 = ""
  4524.    Tmp = cMakePath("c", "tmp", "test", "dat")
  4525.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & Chr$(13) & Chr$(13)
  4526.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & Chr$(13) & Chr$(13)
  4527.    n = cSplitPath(Tmp, SPLITPATH)
  4528.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  4529.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  4530.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  4531.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  4532.    cStartBasisTimer
  4533.    For i = 1 To Item
  4534.       Tmp = cMakePath("c", "tmp", "test", "dat")
  4535.    Next i
  4536.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4537.    Label3.Caption = Tmp1
  4538. End Sub
  4539. Sub TestMatrixAdd ()
  4540.    Dim Tmp1       As String
  4541.    Dim TmpA       As String
  4542.    Dim TmpB       As String
  4543.    Dim TmpC       As String
  4544.    Dim i          As Integer
  4545.    Dim j          As Integer
  4546.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4547.    ReDim arrayB(1 To 3, 1 To 3) As Double
  4548.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4549.    Randomize Timer
  4550.    For i = 1 To 3
  4551.       For j = 1 To 3
  4552.      arrayA(i, j) = Int(RandI * Rnd(1))
  4553.      arrayB(i, j) = Int(RandI * Rnd(1))
  4554.      arrayC(i, j) = 0
  4555.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4556.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  4557.       Next j
  4558.       TmpA = TmpA + Chr$(13)
  4559.       TmpB = TmpB + Chr$(13)
  4560.    Next i
  4561.    Call cMatrixAdd(3, arrayA(), arrayB(), arrayC())
  4562.    For i = 1 To 3
  4563.       For j = 1 To 3
  4564.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4565.       Next j
  4566.       TmpC = TmpC + Chr$(13)
  4567.    Next i
  4568.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4569.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  4570.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4571.    cStartBasisTimer
  4572.    For i = 1 To ItemFile
  4573.       Call cMatrixAdd(3, arrayA(), arrayB(), arrayC())
  4574.    Next i
  4575.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4576.    Label3.Caption = Tmp1
  4577. End Sub
  4578. Sub TestMatrixCompare ()
  4579.    Dim Tmp1       As String
  4580.    Dim TmpA       As String
  4581.    Dim TmpC       As String
  4582.    Dim i          As Integer
  4583.    Dim j          As Integer
  4584.    Dim Idem       As Integer
  4585.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4586.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4587.    Randomize Timer
  4588.    For i = 1 To 3
  4589.       For j = 1 To 3
  4590.      arrayA(i, j) = Int(RandI * Rnd(1))
  4591.      arrayC(i, j) = Int(RandI * Rnd(1))
  4592.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4593.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4594.       Next j
  4595.       TmpA = TmpA + Chr$(13)
  4596.       TmpC = TmpC + Chr$(13)
  4597.    Next i
  4598.    Idem = cMatrixCompare(3, arrayA(), arrayC())
  4599.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4600.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4601.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  4602.    TmpA = ""
  4603.    TmpC = ""
  4604.    For i = 1 To 3
  4605.       For j = 1 To 3
  4606.      arrayA(i, j) = Int(RandI * Rnd(1))
  4607.      arrayC(i, j) = arrayA(i, j)
  4608.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4609.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4610.       Next j
  4611.       TmpA = TmpA + Chr$(13)
  4612.       TmpC = TmpC + Chr$(13)
  4613.    Next i
  4614.    Idem = cMatrixCompare(3, arrayA(), arrayC())
  4615.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4616.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4617.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  4618.    cStartBasisTimer
  4619.    For i = 1 To ItemFile
  4620.       Idem = cMatrixCompare(3, arrayA(), arrayC())
  4621.    Next i
  4622.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4623.    Label3.Caption = Tmp1
  4624. End Sub
  4625. Sub TestMatrixCopy ()
  4626.    Dim Tmp1       As String
  4627.    Dim TmpA       As String
  4628.    Dim TmpC       As String
  4629.    Dim i          As Integer
  4630.    Dim j          As Integer
  4631.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4632.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4633.    Randomize Timer
  4634.    For i = 1 To 3
  4635.       For j = 1 To 3
  4636.      arrayA(i, j) = Int(RandI * Rnd(1))
  4637.      arrayC(i, j) = 0
  4638.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4639.       Next j
  4640.       TmpA = TmpA + Chr$(13)
  4641.    Next i
  4642.    Call cMatrixCopy(3, arrayA(), arrayC())
  4643.    For i = 1 To 3
  4644.       For j = 1 To 3
  4645.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4646.       Next j
  4647.       TmpC = TmpC + Chr$(13)
  4648.    Next i
  4649.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4650.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4651.    cStartBasisTimer
  4652.    For i = 1 To ItemFile
  4653.       Call cMatrixCopy(3, arrayA(), arrayC())
  4654.    Next i
  4655.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4656.    Label3.Caption = Tmp1
  4657. End Sub
  4658. Sub TestMatrixDet ()
  4659.    Dim Tmp1       As String
  4660.    Dim TmpA       As String
  4661.    Dim TmpC       As String
  4662.    Dim i          As Integer
  4663.    Dim j          As Integer
  4664.    Dim det        As Double
  4665.    Dim nSize      As Integer
  4666.    nSize = 3
  4667.    ReDim arrayA(1 To nSize, 1 To nSize) As Double
  4668.    Randomize Timer
  4669.    For i = 1 To nSize
  4670.       For j = 1 To nSize
  4671.      arrayA(i, j) = Int(RandI * Rnd(1))
  4672.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4673.       Next j
  4674.       TmpA = TmpA + Chr$(13)
  4675.    Next i
  4676.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4677.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, arrayA()) & Chr$(13) & Chr$(13)
  4678.    cStartBasisTimer
  4679.    For i = 1 To ItemFile
  4680.       det = cMatrixDet(nSize, arrayA())
  4681.       DoEvents
  4682.    Next i
  4683.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4684.    Label3.Caption = Tmp1
  4685. End Sub
  4686. Sub TestMatrixInv ()
  4687.    Dim Tmp1       As String
  4688.    Dim TmpA       As String
  4689.    Dim TmpC       As String
  4690.    Dim i          As Integer
  4691.    Dim j          As Integer
  4692.    Dim result     As Integer
  4693.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4694.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4695.    Randomize Timer
  4696.    result = cMatrixFill(3, arrayA(), MATRIX_ZERO)
  4697.    result = cMatrixFill(3, arrayC(), MATRIX_UNIT)
  4698.    For i = 1 To 3
  4699.       For j = 1 To 3
  4700.      arrayA(i, j) = Int(RandI * Rnd(1))
  4701.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4702.       Next j
  4703.       TmpA = TmpA + Chr$(13)
  4704.    Next i
  4705.    result = cMatrixInv(3, arrayA(), arrayC())
  4706.    If (result = True) Then
  4707.       For i = 1 To 3
  4708.      For j = 1 To 3
  4709.         TmpC = TmpC + Format$(arrayC(i, j), "0.0000000  ")
  4710.      Next j
  4711.      TmpC = TmpC + Chr$(13)
  4712.       Next i
  4713.    Else
  4714.       TmpC = " 'can be inverted'"
  4715.    End If
  4716.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  4717.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13)
  4718.    TmpA = ""
  4719.    TmpC = ""
  4720.    result = cMatrixFill(3, arrayA(), MATRIX_ZERO)
  4721.    result = cMatrixFill(3, arrayC(), MATRIX_ZERO)
  4722.    For i = 1 To 3
  4723.       For j = 1 To 3
  4724.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4725.       Next j
  4726.       TmpA = TmpA + Chr$(13)
  4727.    Next i
  4728.    result = cMatrixInv(3, arrayA(), arrayC())
  4729.    If (result = True) Then
  4730.       For i = 1 To 3
  4731.      For j = 1 To 3
  4732.         TmpC = TmpC + Format$(arrayC(i, j), "0.0000000  ")
  4733.      Next j
  4734.      TmpC = TmpC + Chr$(13)
  4735.       Next i
  4736.    Else
  4737.       TmpC = " 'can be inverted'"
  4738.    End If
  4739.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  4740.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13) & Chr$(13)
  4741.    For i = 1 To 3
  4742.       For j = 1 To 3
  4743.      arrayA(i, j) = Int(RandI * Rnd(1))
  4744.       Next j
  4745.    Next i
  4746.    cStartBasisTimer
  4747.    For i = 1 To ItemFile
  4748.       result = cMatrixInv(3, arrayA(), arrayC())
  4749.    Next i
  4750.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4751.    Label3.Caption = Tmp1
  4752. End Sub
  4753. Sub TestMatrixMinCo ()
  4754.    Dim Tmp1       As String
  4755.    Dim TmpA       As String
  4756.    Dim TmpC       As String
  4757.    Dim i          As Integer
  4758.    Dim j          As Integer
  4759.    Dim cofact     As Double
  4760.    Dim nSize      As Integer
  4761.    nSize = 3
  4762.    ReDim arrayA(1 To nSize, 1 To nSize) As Double
  4763.    Randomize Timer
  4764.    For i = 1 To nSize
  4765.       For j = 1 To nSize
  4766.      arrayA(i, j) = Int(RandI * Rnd(1))
  4767.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4768.       Next j
  4769.       TmpA = TmpA + Chr$(13)
  4770.    Next i
  4771.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13) & Chr$(13)
  4772.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, arrayA(), 1, 1) & Chr$(13)
  4773.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, arrayA(), 2, 2) & Chr$(13)
  4774.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, arrayA(), 3, 3) & Chr$(13) & Chr$(13)
  4775.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, arrayA(), 1, 1) & Chr$(13)
  4776.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, arrayA(), 2, 2) & Chr$(13)
  4777.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, arrayA(), 3, 3) & Chr$(13) & Chr$(13)
  4778.    cStartBasisTimer
  4779.    For i = 1 To ItemFile
  4780.       cofact = cMatrixCoFactor(nSize, arrayA(), 1, 1)
  4781.    Next i
  4782.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4783.    Label3.Caption = Tmp1
  4784. End Sub
  4785. Sub TestMatrixMul ()
  4786.    Dim Tmp1       As String
  4787.    Dim TmpA       As String
  4788.    Dim TmpB       As String
  4789.    Dim TmpC       As String
  4790.    Dim i          As Integer
  4791.    Dim j          As Integer
  4792.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4793.    ReDim arrayB(1 To 3, 1 To 3) As Double
  4794.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4795.    Randomize Timer
  4796.    For i = 1 To 3
  4797.       For j = 1 To 3
  4798.      arrayA(i, j) = Int(RandI * Rnd(1))
  4799.      arrayB(i, j) = Int(RandI * Rnd(1))
  4800.      arrayC(i, j) = 0
  4801.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4802.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  4803.       Next j
  4804.       TmpA = TmpA + Chr$(13)
  4805.       TmpB = TmpB + Chr$(13)
  4806.    Next i
  4807.    Call cMatrixMul(3, arrayA(), arrayB(), arrayC())
  4808.    For i = 1 To 3
  4809.       For j = 1 To 3
  4810.      TmpC = TmpC + Format$(arrayC(i, j), "000000000000  ")
  4811.       Next j
  4812.       TmpC = TmpC + Chr$(13)
  4813.    Next i
  4814.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4815.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  4816.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4817.    cStartBasisTimer
  4818.    For i = 1 To ItemFile
  4819.       Call cMatrixMul(3, arrayA(), arrayB(), arrayC())
  4820.    Next i
  4821.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4822.    Label3.Caption = Tmp1
  4823. End Sub
  4824. Sub TestMatrixSub ()
  4825.    Dim Tmp1       As String
  4826.    Dim TmpA       As String
  4827.    Dim TmpB       As String
  4828.    Dim TmpC       As String
  4829.    Dim i          As Integer
  4830.    Dim j          As Integer
  4831.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4832.    ReDim arrayB(1 To 3, 1 To 3) As Double
  4833.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4834.    Randomize Timer
  4835.    For i = 1 To 3
  4836.       For j = 1 To 3
  4837.      arrayA(i, j) = Int(RandI * Rnd(1))
  4838.      arrayB(i, j) = Int(RandI * Rnd(1))
  4839.      arrayC(i, j) = 0
  4840.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4841.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  4842.       Next j
  4843.       TmpA = TmpA + Chr$(13)
  4844.       TmpB = TmpB + Chr$(13)
  4845.    Next i
  4846.    Call cMatrixSub(3, arrayA(), arrayB(), arrayC())
  4847.    For i = 1 To 3
  4848.       For j = 1 To 3
  4849.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4850.       Next j
  4851.       TmpC = TmpC + Chr$(13)
  4852.    Next i
  4853.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4854.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  4855.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4856.    cStartBasisTimer
  4857.    For i = 1 To ItemFile
  4858.       Call cMatrixSub(3, arrayA(), arrayB(), arrayC())
  4859.    Next i
  4860.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4861.    Label3.Caption = Tmp1
  4862. End Sub
  4863. Sub TestMatrixSymToeplitz ()
  4864.    Dim Tmp1       As String
  4865.    Dim TmpA       As String
  4866.    Dim TmpC       As String
  4867.    Dim i          As Integer
  4868.    Dim j          As Integer
  4869.    Dim result     As Integer
  4870.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4871.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4872.    Randomize Timer
  4873.    For i = 1 To 1
  4874.       For j = 1 To 3
  4875.      arrayA(i, j) = Int(RandI * Rnd(1))
  4876.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4877.       Next j
  4878.       TmpA = TmpA + Chr$(13)
  4879.    Next i
  4880.    result = cMatrixSymToeplitz(3, arrayA(), arrayC())
  4881.    For i = 1 To 3
  4882.       For j = 1 To 3
  4883.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4884.       Next j
  4885.       TmpC = TmpC + Chr$(13)
  4886.    Next i
  4887.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4888.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4889.    cStartBasisTimer
  4890.    For i = 1 To ItemFile
  4891.       result = cMatrixSymToeplitz(3, arrayA(), arrayC())
  4892.    Next i
  4893.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4894.    Label3.Caption = Tmp1
  4895. End Sub
  4896. Sub TestMatrixTranspose ()
  4897.    Dim Tmp1       As String
  4898.    Dim TmpA       As String
  4899.    Dim TmpC       As String
  4900.    Dim i          As Integer
  4901.    Dim j          As Integer
  4902.    ReDim arrayA(1 To 3, 1 To 3) As Double
  4903.    ReDim arrayC(1 To 3, 1 To 3) As Double
  4904.    Randomize Timer
  4905.    For i = 1 To 3
  4906.       For j = 1 To 3
  4907.      arrayA(i, j) = Int(RandI * Rnd(1))
  4908.      arrayC(i, j) = 0
  4909.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  4910.       Next j
  4911.       TmpA = TmpA + Chr$(13)
  4912.    Next i
  4913.    Call cMatrixTranspose(3, arrayA(), arrayC())
  4914.    For i = 1 To 3
  4915.       For j = 1 To 3
  4916.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  4917.       Next j
  4918.       TmpC = TmpC + Chr$(13)
  4919.    Next i
  4920.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  4921.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  4922.    cStartBasisTimer
  4923.    For i = 1 To ItemFile
  4924.       Call cMatrixTranspose(3, arrayA(), arrayC())
  4925.    Next i
  4926.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4927.    Label3.Caption = Tmp1
  4928. End Sub
  4929. Sub TestMaxI ()
  4930.    Dim title      As String
  4931.    Dim Tmp        As String
  4932.    Dim Tmp1       As String
  4933.    Dim Tmp2       As String
  4934.    Dim i          As Integer
  4935.    Dim j          As Integer
  4936.    Dim m          As Double
  4937.    ReDim array(ItemMean) As Integer
  4938.    Randomize Timer
  4939.    For i = LBound(array) To UBound(array)
  4940.       array(i) = RandI * Rnd(1)
  4941.       List1.AddItem "" & array(i)
  4942.    Next i
  4943.    j = cSortI(array())
  4944.    For i = LBound(array) To UBound(array)
  4945.       List2.AddItem "" & array(i)
  4946.    Next i
  4947.    List2.ListIndex = List2.ListCount - 1
  4948.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMaxI(array()) & Chr$(13) & Chr$(13)
  4949.    cStartBasisTimer
  4950.    For i = 1 To ItemFile
  4951.       m = cMaxI(array())
  4952.    Next i
  4953.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4954.    Label3.Caption = Tmp1
  4955. End Sub
  4956. Sub TestMD5 ()
  4957.    Dim title      As String
  4958.    Dim Tmp        As String
  4959.    Dim Tmp1       As String
  4960.    Dim Tmp2       As String
  4961.    Dim Tmp3       As String
  4962.    Dim i          As Integer
  4963.    Dim j          As Long
  4964.    Tmp2 = "TIME TO WIN"
  4965.    Tmp = Text1.Text
  4966.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & Chr$(13) & Chr$(13)
  4967.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & Chr$(13) & Chr$(13)
  4968.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & Chr$(13) & Chr$(13)
  4969.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & Chr$(13) & Chr$(13)
  4970.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & Chr$(13) & Chr$(13)
  4971.    cStartBasisTimer
  4972.    For i = 1 To Item
  4973.       Tmp3 = cHashMD5(Tmp2)
  4974.    Next i
  4975.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4976.    Label3.Caption = Tmp1
  4977. End Sub
  4978. Sub TestMDA (Management As Integer)
  4979.    Dim Tmp        As String
  4980.    Dim ErrCode    As Integer
  4981.    Dim MDA        As tagMULTIPLEDISKARRAY
  4982.    Dim TE         As tagTASKENTRY
  4983.    ErrCode = cMakeDir("c:\t2w_tmp")
  4984.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  4985.    MDA.nType(1) = DA_LONG     'long
  4986.    MDA.nIsTyped(1) = False
  4987.    MDA.nRows(1) = 20
  4988.    MDA.nCols(1) = 20
  4989.    MDA.nSheets(1) = 2
  4990.    MDA.nType(2) = 10          'string
  4991.    MDA.nIsTyped(2) = False
  4992.    MDA.nRows(2) = 20
  4993.    MDA.nCols(2) = 20
  4994.    MDA.nSheets(2) = 2
  4995.    MDA.nType(9) = Len(TE)     'type'd
  4996.    MDA.nIsTyped(9) = True
  4997.    MDA.nRows(9) = 20
  4998.    MDA.nCols(9) = 20
  4999.    MDA.nSheets(9) = 2
  5000.    Select Case Management
  5001.       Case True      'create
  5002.      ErrCode = cMDACreate(MDA, True)
  5003.       Case False     'use
  5004.      ErrCode = cMDACreate(MDA, False)
  5005.       Case 1         'clear all
  5006.      ErrCode = cMDACreate(MDA, False)
  5007.      If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  5008.      If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  5009.      If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  5010.       Case 2         'clear sheet 2
  5011.      ErrCode = cMDACreate(MDA, False)
  5012.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  5013.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  5014.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  5015.       Case 3         'clear last row
  5016.      ErrCode = cMDACreate(MDA, False)
  5017.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  5018.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  5019.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  5020.       Case 4         'clear last col
  5021.      ErrCode = cMDACreate(MDA, False)
  5022.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  5023.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  5024.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  5025.       Case 5         'clear last row in all sheets
  5026.      ErrCode = cMDACreate(MDA, False)
  5027.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  5028.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  5029.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  5030.       Case 6         'clear last col in all sheets
  5031.      ErrCode = cMDACreate(MDA, False)
  5032.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  5033.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  5034.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  5035.    End Select
  5036.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5037.    If (ErrCode = True) Then
  5038.       
  5039.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & Chr$(13)
  5040.       Tmp = Tmp & "MDA.Signature       = " & MDA.Signature & Chr$(13)
  5041.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & Chr$(13)
  5042.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & Chr$(13)
  5043.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & Chr$(13) & Chr$(13)
  5044.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & Chr$(13)
  5045.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & Chr$(13)
  5046.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & Chr$(13)
  5047.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & Chr$(13)
  5048.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & Chr$(13)
  5049.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & Chr$(13)
  5050.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & Chr$(13)
  5051.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & Chr$(13) & Chr$(13)
  5052.       If (Management = True) Then
  5053.      Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  5054.      Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  5055.       
  5056.      Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  5057.      Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  5058.       
  5059.      ErrCode = cTasks(TE, True)
  5060.      Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  5061.      ErrCode = cTasks(TE, False)
  5062.      Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5063.       
  5064.       End If
  5065.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5066.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & Chr$(13)
  5067.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5068.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & Chr$(13)
  5069.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  5070.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5071.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5072.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5073.    End If
  5074.    Call cMDAClose(MDA, False)
  5075.    Label3.Caption = Tmp
  5076. End Sub
  5077. Sub TestMeanI ()
  5078.    Dim title      As String
  5079.    Dim Tmp        As String
  5080.    Dim Tmp1       As String
  5081.    Dim Tmp2       As String
  5082.    Dim i          As Integer
  5083.    Dim j          As Integer
  5084.    Dim m          As Double
  5085.    ReDim array(ItemMean) As Integer
  5086.    Randomize Timer
  5087.    m = 0
  5088.    For i = LBound(array) To UBound(array)
  5089.       array(i) = Int(RandI * Rnd(1))
  5090.       m = m + array(i)
  5091.       List1.AddItem "" & array(i)
  5092.    Next i
  5093.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & Chr$(13) & Chr$(13)
  5094.    cStartBasisTimer
  5095.    For i = 1 To ItemFile
  5096.       m = cMeanI(array())
  5097.    Next i
  5098.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5099.    Label3.Caption = Tmp1
  5100. End Sub
  5101. Sub TestMenuChange ()
  5102.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  5103.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  5104.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  5105.    Call cSysMenuChange(Me.hWnd, 3, "&Ic
  5106.    Call cSysMenuChange(Me.hWnd, 4, "&Plein 
  5107. cran")
  5108.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  5109.    Call cSysMenuChange(Me.hWnd, 8, "&T
  5110. che" + Chr$(9) + "Ctrl+Esc")
  5111. End Sub
  5112. Sub TestMin ()
  5113.    Dim title      As String
  5114.    Dim Tmp        As String
  5115.    Dim Tmp1       As String
  5116.    Dim Tmp2       As String
  5117.    Dim i          As Integer
  5118.    Dim j          As Long
  5119.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & Chr$(13)
  5120.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & Chr$(13)
  5121.    cStartBasisTimer
  5122.    For i = 1 To Item
  5123.       j = cMin(32760, 1234567)
  5124.    Next i
  5125.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5126.    Label3.Caption = Tmp1
  5127. End Sub
  5128. Sub TestMinI ()
  5129.    Dim title      As String
  5130.    Dim Tmp        As String
  5131.    Dim Tmp1       As String
  5132.    Dim Tmp2       As String
  5133.    Dim i          As Integer
  5134.    Dim j          As Integer
  5135.    Dim m          As Double
  5136.    ReDim array(ItemMean) As Integer
  5137.    Randomize Timer
  5138.    For i = LBound(array) To UBound(array)
  5139.       array(i) = RandI * Rnd(1)
  5140.       List1.AddItem "" & array(i)
  5141.    Next i
  5142.    j = cSortI(array())
  5143.    For i = LBound(array) To UBound(array)
  5144.       List2.AddItem "" & array(i)
  5145.    Next i
  5146.    List2.ListIndex = 0
  5147.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMinI(array()) & Chr$(13) & Chr$(13)
  5148.    cStartBasisTimer
  5149.    For i = 1 To ItemFile
  5150.       m = cMinI(array())
  5151.    Next i
  5152.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5153.    Label3.Caption = Tmp1
  5154. End Sub
  5155. Sub TestMixChars ()
  5156.    Dim title      As String
  5157.    Dim Tmp        As String
  5158.    Dim Tmp1       As String
  5159.    Dim Tmp2       As String
  5160.    Dim i          As Integer
  5161.    Dim j          As Integer
  5162.    Tmp = Text1.Text
  5163.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5164.    Tmp = "TIME TO WIN"
  5165.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5166.    Tmp = "Nothing can beat the fox"
  5167.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5168.    Tmp = Text1.Text
  5169.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5170.    cStartBasisTimer
  5171.    For i = 1 To Item
  5172.       Tmp2 = cMixChars(Tmp)
  5173.    Next i
  5174.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5175.    Label3.Caption = Tmp1
  5176. End Sub
  5177. Sub TestMorse ()
  5178.    Dim title      As String
  5179.    Dim Tmp        As String
  5180.    Dim Tmp1       As String
  5181.    Dim Tmp2       As String
  5182.    Dim i          As Integer
  5183.    Dim j          As Integer
  5184.    Tmp = "SOS"
  5185.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5186.    Tmp = "TIME TO WIN"
  5187.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5188.    Tmp = "Nothing can beat the fox"
  5189.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5190.    Tmp = Text1.Text
  5191.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5192.    cStartBasisTimer
  5193.    For i = 1 To Item
  5194.       Tmp2 = cMorse(Tmp)
  5195.    Next i
  5196.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5197.    Label3.Caption = Tmp1
  5198. End Sub
  5199. Sub TestMsgBox ()
  5200.    Dim i       As Integer
  5201.    Dim n       As Integer
  5202.    Dim Tmp     As String
  5203.    Tmp = "'TIME TO WIN'" & Chr$(13) & Chr$(13)
  5204.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13) & Chr$(13)
  5205.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13) & Chr$(13)
  5206.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13) & Chr$(13)
  5207.    Tmp = Tmp & "The system menu is also in French." & Chr$(13) & Chr$(13)
  5208.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  5209.    For i = 0 To 5
  5210.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  5211.    Next i
  5212. End Sub
  5213. Sub TestOneCharFromLeft ()
  5214.    Dim title      As String
  5215.    Dim Tmp        As String
  5216.    Dim Tmp1       As String
  5217.    Dim Tmp2       As String
  5218.    Dim i          As Integer
  5219.    Dim j          As Integer
  5220.    Tmp = Text1.Text
  5221.    title = "The 3,7,1 chars from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5222.    Tmp = Text1.Text
  5223.    Tmp1 = title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  5224.    cStartBasisTimer
  5225.    For i = 1 To Item
  5226.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  5227.    Next i
  5228.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5229.    Label3.Caption = Tmp1
  5230. End Sub
  5231. Sub TestOneCharFromRight ()
  5232.    Dim title      As String
  5233.    Dim Tmp        As String
  5234.    Dim Tmp1       As String
  5235.    Dim Tmp2       As String
  5236.    Dim i          As Integer
  5237.    Dim j          As Integer
  5238.    Tmp = Text1.Text
  5239.    title = "The 3,7,1 chars from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5240.    Tmp = Text1.Text
  5241.    Tmp1 = title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  5242.    cStartBasisTimer
  5243.    For i = 1 To Item
  5244.       Tmp2 = cOneCharFromRight(Tmp, 2)
  5245.    Next i
  5246.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5247.    Label3.Caption = Tmp1
  5248. End Sub
  5249. Sub TestOrToken ()
  5250.    Dim title      As String
  5251.    Dim Tmp        As String
  5252.    Dim Tmp1       As String
  5253.    Dim Tmp2       As String
  5254.    Dim i          As Integer
  5255.    Dim j          As Integer
  5256.    Tmp = "FOX|OVER|THE"
  5257.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5258.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5259.    Tmp = "quick|jumps|the"
  5260.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5261.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5262.    Tmp = "FOX\OVER\THE"
  5263.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5264.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5265.    Tmp = "quick\jumps\the"
  5266.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5267.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5268.    Tmp = "FOX/OVER/THE"
  5269.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5270.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5271.    Tmp = "quick\JUMPS\the"
  5272.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5273.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5274.    Tmp = LCase$("quick\jumps\THE")
  5275.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  5276.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5277.    cStartBasisTimer
  5278.    For i = 1 To Item
  5279.       j = cOrToken(Tmp2, Tmp)
  5280.    Next i
  5281.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5282.    Label3.Caption = Tmp1
  5283. End Sub
  5284. Sub TestPatternExtMatch ()
  5285.    Dim title      As String
  5286.    Dim Tmp        As String
  5287.    Dim Tmp1       As String
  5288.    Dim Tmp2       As String
  5289.    Dim Tmp3       As String
  5290.    Dim i          As Integer
  5291.    Dim j          As Integer
  5292.    Tmp2 = "Under the blue sky, the sun lights"
  5293.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5294.    Tmp3 = "*"
  5295.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5296.    Tmp3 = "*??*???*?"
  5297.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5298.    Tmp3 = "*Under*"
  5299.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5300.    Tmp3 = "*sky*"
  5301.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5302.    Tmp3 = "*lights"
  5303.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5304.    Tmp3 = "??der*sky*ligh??*"
  5305.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5306.    Tmp3 = "Under?the * s??,*"
  5307.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5308.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  5309.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5310.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  5311.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5312.    Tmp3 = "~55~6E*~73"
  5313.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5314.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  5315.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5316.    Tmp3 = "Under?the *[~72~73~74~75]"
  5317.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5318.    Tmp3 = "*under*"
  5319.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5320.    Tmp3 = "Under*sun"
  5321.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5322.    Tmp3 = "Under t??e*"
  5323.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5324.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  5325.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5326.    Tmp3 = "~55~6G*~73"
  5327.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5328.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  5329.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5330.    Tmp3 = "Under?the *[~72~53~74~75]"
  5331.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5332.    Tmp3 = "Under?the * s??,*"
  5333.    cStartBasisTimer
  5334.    For i = 1 To Item
  5335.       j = cPatternExtMatch(Tmp2, Tmp3)
  5336.    Next i
  5337.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5338.    Label3.Caption = Tmp1
  5339. End Sub
  5340. Sub TestPatternMatch ()
  5341.    Dim title      As String
  5342.    Dim Tmp        As String
  5343.    Dim Tmp1       As String
  5344.    Dim Tmp2       As String
  5345.    Dim Tmp3       As String
  5346.    Dim i          As Integer
  5347.    Dim j          As Integer
  5348.    Tmp2 = "Under the blue sky, the sun lights"
  5349.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5350.    Tmp3 = "*"
  5351.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5352.    Tmp3 = "*??*???*?"
  5353.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5354.    Tmp3 = "*Under*"
  5355.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5356.    Tmp3 = "*sky*"
  5357.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5358.    Tmp3 = "*lights"
  5359.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5360.    Tmp3 = "??der*sky*ligh??*"
  5361.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5362.    Tmp3 = "Under?the * s??,*"
  5363.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5364.    Tmp3 = "*under*"
  5365.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5366.    Tmp3 = "Under*sun"
  5367.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5368.    Tmp3 = "Under t??e*"
  5369.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5370.    Tmp3 = "Under?the * s??,*"
  5371.    cStartBasisTimer
  5372.    For i = 1 To Item
  5373.       j = cPatternMatch(Tmp2, Tmp3)
  5374.    Next i
  5375.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5376.    Label3.Caption = Tmp1
  5377. End Sub
  5378. Sub TestProperName ()
  5379.    Dim title      As String
  5380.    Dim Tmp        As String
  5381.    Dim Tmp1       As String
  5382.    Dim Tmp2       As String
  5383.    Dim i          As Integer
  5384.    Dim j          As Integer
  5385.    Tmp = Text1.Text
  5386.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5387.    Tmp = "John fitz,jr"
  5388.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5389.    Tmp = "john Fitz, jr"
  5390.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5391.    Tmp = "macdonald"
  5392.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5393.    Tmp = "mac donald"
  5394.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5395.    cStartBasisTimer
  5396.    For i = 1 To Item
  5397.       Tmp2 = cProperName(Tmp)
  5398.    Next i
  5399.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5400.    Label3.Caption = Tmp1
  5401. End Sub
  5402. Sub TestProperName2 ()
  5403.    Dim title      As String
  5404.    Dim Tmp        As String
  5405.    Dim Tmp1       As String
  5406.    Dim Tmp2       As String
  5407.    Dim i          As Integer
  5408.    Dim j          As Integer
  5409.    Tmp = Text1.Text
  5410.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5411.    Tmp = "JOHN FITZ,JR"
  5412.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5413.    Tmp = "john Fitz,jr"
  5414.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5415.    Tmp = "macdonald"
  5416.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5417.    Tmp = "mac donald"
  5418.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5419.    Tmp = "a.l. greene jr."
  5420.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5421.    Tmp = "shale and sandstone and till"
  5422.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5423.    Tmp = "a sandstone or a shale"
  5424.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5425.    Tmp = "RR2 BARRHEAD"
  5426.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & Chr$(13) & Chr$(13)
  5427.    Tmp = "ANDY MACDONALD"
  5428.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & Chr$(13) & Chr$(13)
  5429.    cStartBasisTimer
  5430.    For i = 1 To Item
  5431.       Tmp2 = cProperName2(Tmp, "", 0)
  5432.    Next i
  5433.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5434.    Label3.Caption = Tmp1
  5435. End Sub
  5436. Sub TestReadLanguage ()
  5437.    Load frmLng
  5438.    Call cShowWindow(frmLng.hWnd, 1, 340)
  5439.    frmLng.Show
  5440. End Sub
  5441. Sub TestRegistrationKey ()
  5442.    Dim title      As String
  5443.    Dim Tmp        As String
  5444.    Dim Tmp1       As String
  5445.    Dim Tmp2       As String
  5446.    Dim Tmp3       As String
  5447.    Dim i          As Integer
  5448.    Dim j          As Long
  5449.    Tmp2 = "TIME TO WIN"
  5450.    Tmp3 = "12345"
  5451.    Tmp = Text1.Text
  5452.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & Chr$(13) & Chr$(13)
  5453.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & Chr$(13) & Chr$(13)
  5454.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & Chr$(13) & Chr$(13)
  5455.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & Chr$(13) & Chr$(13)
  5456.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & Chr$(13) & Chr$(13)
  5457.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & Chr$(13) & Chr$(13)
  5458.    cStartBasisTimer
  5459.    For i = 1 To Item
  5460.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  5461.    Next i
  5462.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5463.    Label3.Caption = Tmp1
  5464. End Sub
  5465. Sub TestRemoveBlockChar ()
  5466.    Dim title      As String
  5467.    Dim Tmp        As String
  5468.    Dim Tmp1       As String
  5469.    Dim Tmp2       As String
  5470.    Dim i          As Integer
  5471.    Dim j          As Integer
  5472.    Tmp = Text1.Text
  5473.    title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  5474.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  5475.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  5476.    cStartBasisTimer
  5477.    For i = 1 To Item
  5478.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  5479.    Next i
  5480.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5481.    Label3.Caption = Tmp1
  5482. End Sub
  5483. Sub TestRemoveOneChar ()
  5484.    Dim title      As String
  5485.    Dim Tmp        As String
  5486.    Dim Tmp1       As String
  5487.    Dim Tmp2       As String
  5488.    Dim i          As Integer
  5489.    Dim j          As Integer
  5490.    Tmp = Text1.Text
  5491.    title = "Removing the 7 char of [" & Tmp & "] is "
  5492.    Tmp = cRemoveOneChar(Tmp, 7)
  5493.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  5494.    cStartBasisTimer
  5495.    For i = 1 To Item
  5496.       Tmp = cRemoveOneChar(Tmp, 1)
  5497.    Next i
  5498.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5499.    Label3.Caption = Tmp1
  5500. End Sub
  5501. Sub TestRenameFile ()
  5502.    Dim title      As String
  5503.    Dim Tmp        As String
  5504.    Dim Tmp1       As String
  5505.    Dim Tmp2       As String
  5506.    Dim i          As Integer
  5507.    Dim j          As Integer
  5508.    j = cKillFile("XY~YX~XY.~~~")
  5509.    j = cKillFile("XY-YX-XY.---")
  5510.    Close #1
  5511.    Open "XY~YX~XY.~~~" For Output As #1
  5512.    Print #1, "this is a test";
  5513.    Close #1
  5514.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & Chr$(13) & Chr$(13)
  5515.    cStartBasisTimer
  5516.    For i = 1 To ItemFile
  5517.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  5518.    Next i
  5519.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5520.    Label3.Caption = Tmp1
  5521. End Sub
  5522. Sub TestResizeString ()
  5523.    Dim title      As String
  5524.    Dim Tmp        As String
  5525.    Dim Tmp1       As String
  5526.    Dim Tmp2       As String
  5527.    Dim i          As Integer
  5528.    Dim j          As Integer
  5529.    Tmp = Text1.Text
  5530.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & Chr$(13) & Chr$(13)
  5531.    cStartBasisTimer
  5532.    For i = 1 To Item
  5533.       Tmp2 = cResizeString(Tmp, 3)
  5534.    Next i
  5535.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5536.    Label3.Caption = Tmp1
  5537. End Sub
  5538. Sub TestResizeStringAndFill ()
  5539.    Dim title      As String
  5540.    Dim Tmp        As String
  5541.    Dim Tmp1       As String
  5542.    Dim Tmp2       As String
  5543.    Dim i          As Integer
  5544.    Dim j          As Integer
  5545.    Tmp = Text1.Text
  5546.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & Chr$(13) & Chr$(13) & cResizeStringAndFill(Tmp, 35, "@") & Chr$(13) & Chr$(13)
  5547.    cStartBasisTimer
  5548.    For i = 1 To Item
  5549.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  5550.    Next i
  5551.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5552.    Label3.Caption = Tmp1
  5553. End Sub
  5554. Sub TestReverse ()
  5555.    Dim title      As String
  5556.    Dim Tmp        As String
  5557.    Dim Tmp1       As String
  5558.    Dim Tmp2       As String
  5559.    Dim i          As Integer
  5560.    Dim j          As Integer
  5561.    Tmp = Text1.Text
  5562.    title = "Reverse of [" & Tmp & "] is "
  5563.    Tmp1 = title & cReverse(Tmp) & Chr$(13) & Chr$(13)
  5564.    cStartBasisTimer
  5565.    For i = 1 To Item
  5566.       Tmp2 = cReverse(Tmp)
  5567.    Next i
  5568.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5569.    Label3.Caption = Tmp1
  5570. End Sub
  5571. Sub TestReverseAllBits ()
  5572.    Dim title      As String
  5573.    Dim Tmp        As String
  5574.    Dim Tmp1       As String
  5575.    Dim Tmp2       As String
  5576.    Dim i          As Integer
  5577.    Dim j          As Integer
  5578.    Tmp = Text1.Text
  5579.    title = "Reverse all bits of [" & Tmp & "] is "
  5580.    Call cReverseAllBits(Tmp)
  5581.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  5582.    title = "Reverse all bits of [" & Tmp & "] is "
  5583.    Call cReverseAllBits(Tmp)
  5584.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  5585.    cStartBasisTimer
  5586.    For i = 1 To Item
  5587.       Call cReverseAllBits(Tmp)
  5588.    Next i
  5589.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5590.    Label3.Caption = Tmp1
  5591. End Sub
  5592. Sub TestReverseAllBitsByChar ()
  5593.    Dim title      As String
  5594.    Dim Tmp        As String
  5595.    Dim Tmp1       As String
  5596.    Dim Tmp2       As String
  5597.    Dim i          As Integer
  5598.    Dim j          As Integer
  5599.    Tmp = Text1.Text
  5600.    title = "Reverse all bits by char of [" & Tmp & "] is "
  5601.    Call cReverseAllBitsByChar(Tmp)
  5602.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  5603.    title = "Reverse all bits by char of [" & Tmp & "] is "
  5604.    Call cReverseAllBitsByChar(Tmp)
  5605.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  5606.    cStartBasisTimer
  5607.    For i = 1 To Item
  5608.       Call cReverseAllBitsByChar(Tmp)
  5609.    Next i
  5610.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5611.    Label3.Caption = Tmp1
  5612. End Sub
  5613. Sub TestReverseSortI ()
  5614.    Dim title      As String
  5615.    Dim Tmp        As String
  5616.    Dim Tmp1       As String
  5617.    Dim Tmp2       As String
  5618.    Dim i          As Integer
  5619.    Dim j          As Integer
  5620.    Dim m          As Integer
  5621.    ReDim array(ItemMean) As Integer
  5622.    Randomize Timer
  5623.    For i = LBound(array) To UBound(array)
  5624.       array(i) = RandI * Rnd(1)
  5625.       List1.AddItem "" & array(i)
  5626.    Next i
  5627.    j = cReverseSortI(array())
  5628.    For i = LBound(array) To UBound(array)
  5629.       List2.AddItem "" & array(i)
  5630.    Next i
  5631.    cStartBasisTimer
  5632.    For i = 1 To ItemFile
  5633.       j = cReverseSortI(array())
  5634.    Next i
  5635.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5636.    Label3.Caption = Tmp1
  5637. End Sub
  5638. Sub TestRtoA ()
  5639.    Dim Tmp        As String
  5640.    Dim Tmp1       As String
  5641.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  5642.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  5643.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  5644.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  5645.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  5646.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  5647.    Label3.Caption = Tmp1
  5648. End Sub
  5649. Sub TestSerial ()
  5650.    Dim Tmp           As String
  5651.    Dim Tmp1          As String
  5652.    Dim getSD         As tagSERIALDATA
  5653.    Dim putSD         As tagSERIALDATA
  5654.    Dim i             As Integer
  5655.    Dim j             As Integer
  5656.    Call CreateFile
  5657.    Tmp1 = "TEST.DAT"
  5658.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  5659.    putSD.Description1 = "TIME TO WIN demonstration"
  5660.    putSD.Description2 = "Under the blue sky, the sun lights"
  5661.    putSD.Number = 136
  5662.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & Chr$(13) & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & Chr$(13)
  5663.    i = cSerialGet(Tmp1, getSD)
  5664.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  5665.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  5666.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  5667.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  5668.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & Chr$(13)
  5669.    i = cSerialGet(Tmp1, getSD)
  5670.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  5671.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  5672.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  5673.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  5674.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & Chr$(13)
  5675.    i = cSerialGet(Tmp1, getSD)
  5676.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  5677.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  5678.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  5679.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  5680.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  5681.    cStartBasisTimer
  5682.    For i = 1 To ItemFile
  5683.       j = cSerialGet(Tmp1, getSD)
  5684.    Next i
  5685.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5686.    Label3.Caption = Tmp
  5687. End Sub
  5688. Sub TestSetAllBits ()
  5689.    Dim title      As String
  5690.    Dim Tmp        As String
  5691.    Dim Tmp1       As String
  5692.    Dim Tmp2       As String
  5693.    Dim i          As Integer
  5694.    Dim j          As Integer
  5695.    Tmp = Text1.Text
  5696.    title = "Set all bits of [" & Tmp & "] on True is "
  5697.    Call cSetAllBits(Tmp, True)
  5698.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  5699.    title = "Set all bits of [" & Tmp & "] on False is "
  5700.    Call cSetAllBits(Tmp, False)
  5701.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  5702.    cStartBasisTimer
  5703.    For i = 1 To Item
  5704.       Call cSetAllBits(Tmp, True)
  5705.    Next i
  5706.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5707.    Label3.Caption = Tmp1
  5708. End Sub
  5709. Sub TestSetBit ()
  5710.    Dim title      As String
  5711.    Dim Tmp        As String
  5712.    Dim Tmp1       As String
  5713.    Dim Tmp2       As String
  5714.    Dim i          As Integer
  5715.    Dim j          As Integer
  5716.    Tmp = Text1.Text
  5717.    title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  5718.    Call cSetBit(Tmp, 0, True)
  5719.    Call cSetBit(Tmp, 5, True)
  5720.    Call cSetBit(Tmp, 3, True)
  5721.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  5722.    title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  5723.    Call cSetBit(Tmp, 22, False)
  5724.    Call cSetBit(Tmp, 30, False)
  5725.    Call cSetBit(Tmp, 38, False)
  5726.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  5727.    title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  5728.    Call cSetBit(Tmp, 0, False)
  5729.    Call cSetBit(Tmp, 5, False)
  5730.    Call cSetBit(Tmp, 3, False)
  5731.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  5732.    title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  5733.    Call cSetBit(Tmp, 22, True)
  5734.    Call cSetBit(Tmp, 30, True)
  5735.    Call cSetBit(Tmp, 38, True)
  5736.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  5737.    cStartBasisTimer
  5738.    For i = 1 To Item
  5739.       Call cSetBit(Tmp, 7, True)
  5740.    Next i
  5741.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5742.    Label3.Caption = Tmp1
  5743. End Sub
  5744. Sub TestSetI ()
  5745.    Dim title      As String
  5746.    Dim Tmp        As String
  5747.    Dim Tmp1       As String
  5748.    Dim Tmp2       As String
  5749.    Dim i          As Integer
  5750.    Dim j          As Integer
  5751.    Dim m          As Double
  5752.    ReDim array(ItemMean) As Integer
  5753.    Randomize Timer
  5754.    For i = LBound(array) To UBound(array)
  5755.       array(i) = 0
  5756.       List1.AddItem "" & array(i)
  5757.    Next i
  5758.    j = cSetI(array(), 1024)
  5759.    For i = LBound(array) To UBound(array)
  5760.       List2.AddItem "" & array(i)
  5761.    Next i
  5762.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  5763.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  5764.    cStartBasisTimer
  5765.    For i = 1 To ItemFile
  5766.       j = cSetI(array(), 1.11)
  5767.    Next i
  5768.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5769.    Label3.Caption = Tmp1
  5770. End Sub
  5771. Sub TestSortI ()
  5772.    Dim title      As String
  5773.    Dim Tmp        As String
  5774.    Dim Tmp1       As String
  5775.    Dim Tmp2       As String
  5776.    Dim i          As Integer
  5777.    Dim j          As Integer
  5778.    Dim m          As Integer
  5779.    ReDim array(ItemMean) As Integer
  5780.    Randomize Timer
  5781.    For i = LBound(array) To UBound(array)
  5782.       array(i) = RandI * Rnd(1)
  5783.       List1.AddItem "" & array(i)
  5784.    Next i
  5785.    j = cSortI(array())
  5786.    For i = LBound(array) To UBound(array)
  5787.       List2.AddItem "" & array(i)
  5788.    Next i
  5789.    cStartBasisTimer
  5790.    For i = 1 To ItemFile
  5791.       j = cSortI(array())
  5792.    Next i
  5793.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5794.    Label3.Caption = Tmp1
  5795. End Sub
  5796. Sub TestSplitPath ()
  5797.    Dim title      As String
  5798.    Dim Tmp        As String
  5799.    Dim Tmp1       As String
  5800.    Dim Tmp2       As String
  5801.    Dim Tmp3       As String
  5802.    Dim i          As Integer
  5803.    Dim n          As Integer
  5804.    Dim j          As Long
  5805.    Dim SPLITPATH  As tagSPLITPATH
  5806.    Tmp1 = ""
  5807.    Tmp = "C:\AUTOEXEC.BAT"
  5808.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  5809.    n = cSplitPath(Tmp, SPLITPATH)
  5810.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  5811.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  5812.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  5813.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  5814.    Tmp = cGetSystemDirectory() & "\TIME2WIN.DLL"
  5815.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  5816.    n = cSplitPath(Tmp, SPLITPATH)
  5817.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  5818.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  5819.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  5820.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  5821.    cStartBasisTimer
  5822.    For i = 1 To Item
  5823.       n = cSplitPath(Tmp, SPLITPATH)
  5824.    Next i
  5825.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  5826.    Label3.Caption = Tmp1
  5827. End Sub
  5828. Sub TestStringCompress ()
  5829.    Dim title      As String
  5830.    Dim Tmp        As String
  5831.    Dim Tmp1       As String
  5832.    Dim Tmp2       As String
  5833.    Dim Tmp3       As String
  5834.    Dim i          As Integer
  5835.    Dim j          As Long
  5836.    Tmp1 = ""
  5837.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN"
  5838.    Tmp2 = cStringCompress(Tmp)
  5839.    Tmp3 = cStringExpand(Tmp2)
  5840.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  5841.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  5842.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  5843.    cStartBasisTimer
  5844.    For i = 1 To Item
  5845.       Tmp2 = cStringCompress(Tmp)
  5846.    Next i
  5847.    Tmp3 = cStringExpand(Tmp2)
  5848.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  5849.    Label3.Caption = Tmp1
  5850. End Sub
  5851. Sub TestStringCRC32 ()
  5852.    Dim title      As String
  5853.    Dim Tmp        As String
  5854.    Dim Tmp1       As String
  5855.    Dim Tmp2       As String
  5856.    Dim i          As Integer
  5857.    Dim j          As Integer
  5858.    Dim k          As Long
  5859.    Tmp = Text1.Text
  5860.    title = "CRC32 for string [" & Tmp & "] is "
  5861.    Tmp1 = title & Hex$(cStringCRC32(Tmp)) & Chr$(13) & Chr$(13)
  5862.    title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  5863.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(cReverse(Tmp))) & Chr$(13) & Chr$(13)
  5864.    title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  5865.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(LCase$(Tmp))) & Chr$(13) & Chr$(13)
  5866.    title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  5867.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & Chr$(13) & Chr$(13)
  5868.    cStartBasisTimer
  5869.    For i = 1 To Item
  5870.       k = cStringCRC32(Tmp)
  5871.    Next i
  5872.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5873.    Label3.Caption = Tmp1
  5874. End Sub
  5875. Sub TestSubDirectory ()
  5876.    Dim title      As String
  5877.    Dim Tmp        As String
  5878.    Dim Tmp1       As String
  5879.    Dim Tmp2       As String
  5880.    Dim i          As Integer
  5881.    Dim j          As Integer
  5882.    Dim k          As Long
  5883.    title = "The 7 first directories in this directory are" & Chr$(13) & Chr$(13)
  5884.    Tmp1 = title
  5885.    Tmp2 = cSubDirectory("*.*", True)
  5886.    For i = 1 To 7
  5887.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  5888.       Tmp2 = cSubDirectory("*.*", False)
  5889.    Next i
  5890.    Tmp1 = Tmp1 & Chr$(13)
  5891.    cStartBasisTimer
  5892.    For i = 1 To Item
  5893.       Tmp = cSubDirectory("*.*", True)
  5894.    Next i
  5895.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5896.    Label3.Caption = Tmp1
  5897. End Sub
  5898. Sub TestSumI ()
  5899.    Dim title      As String
  5900.    Dim Tmp        As String
  5901.    Dim Tmp1       As String
  5902.    Dim Tmp2       As String
  5903.    Dim i          As Integer
  5904.    Dim j          As Integer
  5905.    Dim m          As Double
  5906.    ReDim array(ItemMean) As Integer
  5907.    Randomize Timer
  5908.    m = 0
  5909.    For i = LBound(array) To UBound(array)
  5910.       array(i) = Int(RandI * Rnd(1))
  5911.       m = m + array(i)
  5912.       List1.AddItem "" & array(i)
  5913.    Next i
  5914.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cSumI(array()) & " (" & m & ")" & Chr$(13) & Chr$(13)
  5915.    cStartBasisTimer
  5916.    For i = 1 To ItemFile
  5917.       m = cSumI(array())
  5918.    Next i
  5919.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5920.    Label3.Caption = Tmp1
  5921. End Sub
  5922. Sub TestSwap ()
  5923.    Dim title      As String
  5924.    Dim Tmp        As String
  5925.    Dim Tmp1       As String
  5926.    Dim Tmp2       As String
  5927.    Dim i          As Integer
  5928.    Dim j          As Long
  5929.    Dim i1         As Integer
  5930.    Dim i2         As Integer
  5931.    Dim s1         As String
  5932.    Dim s2         As String
  5933.    i1 = 3276
  5934.    i2 = 12345
  5935.    s1 = "Hello"
  5936.    s2 = "World"
  5937.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  5938.    Call cSwapI(i1, i2)
  5939.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  5940.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  5941.    Call cSwapI(i1, i2)
  5942.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  5943.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  5944.    Call cSwapStr(s1, s2)
  5945.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  5946.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  5947.    Call cSwapStr(s1, s2)
  5948.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  5949.    cStartBasisTimer
  5950.    For i = 1 To Item
  5951.       Call cSwapI(i1, i2)
  5952.    Next i
  5953.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5954.    Label3.Caption = Tmp1
  5955. End Sub
  5956. Sub TestSysMenuChange (Language As Integer)
  5957.    Call cLngSysMenu(Language, Me.hWnd)
  5958. End Sub
  5959. Sub TestTime ()
  5960.    Dim Tmp1       As String
  5961.    Dim i          As Integer
  5962.    Dim nNow       As Long
  5963.    Dim nHour      As Integer
  5964.    Dim nMinute    As Integer
  5965.    Dim nSecond    As Integer
  5966.    nHour = Hour(Now)
  5967.    nMinute = Minute(Now)
  5968.    nSecond = Second(Now)
  5969.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  5970.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & Chr$(13)
  5971.    nHour = 0
  5972.    nMinute = 0
  5973.    nSecond = 0
  5974.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  5975.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  5976.    nNow = cTimeToScalar(32767, 59, 59)
  5977.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & Chr$(13)
  5978.    nHour = 0
  5979.    nMinute = 0
  5980.    nSecond = 0
  5981.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  5982.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  5983.    cStartBasisTimer
  5984.    For i = 1 To Item
  5985.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  5986.    Next i
  5987.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5988.    Label3.Caption = Tmp1
  5989. End Sub
  5990. Sub TestTimeBetween ()
  5991.    Dim title      As String
  5992.    Dim Tmp        As String
  5993.    Dim Tmp1       As String
  5994.    Dim Tmp2       As String
  5995.    Dim i          As Integer
  5996.    Dim j          As Integer
  5997.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & Chr$(13) & Chr$(13)
  5998.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & Chr$(13) & Chr$(13)
  5999.    cStartBasisTimer
  6000.    For i = 1 To Item
  6001.       j = cTimeBetween(0, 1439)
  6002.    Next i
  6003.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6004.    Label3.Caption = Tmp1
  6005. End Sub
  6006. Sub TestTimer ()
  6007.    Dim Tmp1          As String
  6008.    Dim Tmp           As String
  6009.    Dim Tmp2          As String
  6010.    Dim i             As Integer
  6011.    Dim j             As Integer
  6012.    Dim k             As Long
  6013.    Dim TimerHandle   As Integer
  6014.    Dim StartOk       As Integer
  6015.    Dim CloseOk       As Integer
  6016.    Tmp1 = "BASIS TIMER" & Chr$(13) & Chr$(13)
  6017.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  6018.    cStartBasisTimer
  6019.    For i = 1 To 32766
  6020.    Next i
  6021.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6022.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  6023.    j = 0
  6024.    cStartBasisTimer
  6025.    For i = 1 To 32766
  6026.       j = j + 1
  6027.    Next i
  6028.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6029.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  6030.    k = 0
  6031.    cStartBasisTimer
  6032.    For i = 1 To 32766
  6033.       k = i * 2&
  6034.    Next i
  6035.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6036.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  6037.    cStartBasisTimer
  6038.    For i = 1 To 1000
  6039.       Tmp2 = Tmp2 + "a"
  6040.    Next i
  6041.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6042.    Call cStartBasisTimer
  6043.    StartOk = cSleep(1000)
  6044.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6045.    TimerHandle = cTimerOpen()
  6046.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & Chr$(13) & Chr$(13)
  6047.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  6048.    StartOk = cTimerStart(TimerHandle)
  6049.    For i = 1 To 32766
  6050.    Next i
  6051.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6052.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  6053.    j = 0
  6054.    StartOk = cTimerStart(TimerHandle)
  6055.    For i = 1 To 32766
  6056.       j = j + 1
  6057.    Next i
  6058.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6059.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  6060.    k = 0
  6061.    StartOk = cTimerStart(TimerHandle)
  6062.    For i = 1 To 32766
  6063.       k = i * 2&
  6064.    Next i
  6065.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6066.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  6067.    StartOk = cTimerStart(TimerHandle)
  6068.    For i = 1 To 1000
  6069.       Tmp2 = Tmp2 + "a"
  6070.    Next i
  6071.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6072.    StartOk = cTimerStart(TimerHandle)
  6073.    StartOk = cSleep(1000)
  6074.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6075.    Label3.Caption = Tmp1
  6076.    CloseOk = cTimerClose(TimerHandle)
  6077. End Sub
  6078. Sub TestToggleAllBits ()
  6079.    Dim title      As String
  6080.    Dim Tmp        As String
  6081.    Dim Tmp1       As String
  6082.    Dim Tmp2       As String
  6083.    Dim i          As Integer
  6084.    Dim j          As Integer
  6085.    Tmp = Text1.Text
  6086.    title = "Toggle all bits of [" & Tmp & "] is "
  6087.    Call cToggleAllBits(Tmp)
  6088.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6089.    title = "Toggle all bits of [" & Tmp & "] is "
  6090.    Call cToggleAllBits(Tmp)
  6091.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6092.    cStartBasisTimer
  6093.    For i = 1 To Item
  6094.       Call cToggleAllBits(Tmp)
  6095.    Next i
  6096.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6097.    Label3.Caption = Tmp1
  6098. End Sub
  6099. Sub TestToggleBit ()
  6100.    Dim title      As String
  6101.    Dim Tmp        As String
  6102.    Dim Tmp1       As String
  6103.    Dim Tmp2       As String
  6104.    Dim i          As Integer
  6105.    Dim j          As Integer
  6106.    Tmp = Text1.Text
  6107.    title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  6108.    Call cToggleBit(Tmp, 7)
  6109.    Call cToggleBit(Tmp, 22)
  6110.    Call cToggleBit(Tmp, 15)
  6111.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6112.    title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  6113.    Call cToggleBit(Tmp, 7)
  6114.    Call cToggleBit(Tmp, 22)
  6115.    Call cToggleBit(Tmp, 15)
  6116.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6117.    cStartBasisTimer
  6118.    For i = 1 To Item
  6119.       Call cToggleBit(Tmp, i)
  6120.    Next i
  6121.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6122.    Label3.Caption = Tmp1
  6123. End Sub
  6124. Sub TestToken ()
  6125.    Dim title      As String
  6126.    Dim Tmp        As String
  6127.    Dim Tmp1       As String
  6128.    Dim Tmp2       As String
  6129.    Dim i          As Integer
  6130.    Dim j          As Integer
  6131.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  6132.    title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & Chr$(13)
  6133.    Tmp1 = title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & Chr$(13) & "  4:" & cTokenIn(Tmp, "/\=?", 4) & Chr$(13) & "  1:" & cTokenIn(Tmp, "/\=?", 1) & Chr$(13) & "  5:" & cTokenIn(Tmp, "/\=?", 5) & Chr$(13) & Chr$(13)
  6134.    cStartBasisTimer
  6135.    For i = 1 To Item
  6136.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  6137.    Next i
  6138.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6139.    Label3.Caption = Tmp1
  6140. End Sub
  6141. Sub TestTrueBetween ()
  6142.    Dim title      As String
  6143.    Dim Tmp        As String
  6144.    Dim Tmp1       As String
  6145.    Dim Tmp2       As String
  6146.    Dim i          As Integer
  6147.    Dim j          As Integer
  6148.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  6149.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  6150.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  6151.    cStartBasisTimer
  6152.    For i = 1 To Item
  6153.       j = cTrueBetween(720, 0, 1439)
  6154.    Next i
  6155.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6156.    Label3.Caption = Tmp1
  6157. End Sub
  6158. Sub TestUncompact ()
  6159.    Dim title      As String
  6160.    Dim Tmp        As String
  6161.    Dim Tmp1       As String
  6162.    Dim Tmp2       As String
  6163.    Dim i          As Integer
  6164.    Dim j          As Integer
  6165.    Tmp = "987654321"
  6166.    title = "Uncompact '" & Tmp & "' is "
  6167.    Tmp1 = title & cUncompact(Tmp) & Chr$(13) & Chr$(13)
  6168.    cStartBasisTimer
  6169.    For i = 1 To Item
  6170.       Tmp2 = cUncompact(Tmp)
  6171.    Next i
  6172.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6173.    Label3.Caption = Tmp1
  6174. End Sub
  6175. Sub TestUniqueFileName ()
  6176.    Dim title      As String
  6177.    Dim Tmp        As String
  6178.    Dim Tmp1       As String
  6179.    Dim Tmp2       As String
  6180.    Dim i          As Integer
  6181.    Dim j          As Integer
  6182.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & Chr$(13) & Chr$(13)
  6183.    cStartBasisTimer
  6184.    For i = 1 To Item
  6185.       Tmp2 = cUniqueFileName("WN")
  6186.    Next i
  6187.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6188.    Label3.Caption = Tmp1
  6189. End Sub
  6190. Sub TestVersion ()
  6191.    Dim Tmp        As String
  6192.    Dim Version    As Single
  6193.    Version = cGetVersion()
  6194.    Tmp = Tmp + "Version is " & Version
  6195.    Label3.Caption = Tmp
  6196. End Sub
  6197. Sub TestWalkThruWindow ()
  6198.    Dim nClass        As String
  6199.    Dim nCaption      As String
  6200.    Dim nOwnerClass   As String
  6201.    Dim nOwnerCaption As String
  6202.    Dim nOwnerHwnd    As Integer
  6203.    Dim nhWnd         As Integer
  6204.    Dim i             As Integer
  6205.    Frame1.Visible = True
  6206.    List1.Clear
  6207.    List2.Clear
  6208.    List1.FontBold = False
  6209.    List2.FontBold = False
  6210.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  6211.    Do While (nhWnd <> 0)
  6212.       i = i + 1
  6213.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  6214.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  6215.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  6216.    Loop
  6217. End Sub
  6218. Sub TestWindowsIni ()
  6219.    Dim Tmp        As String
  6220.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + Chr$(13)
  6221.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + Chr$(13)
  6222.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + Chr$(13)
  6223.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + Chr$(13)
  6224.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + Chr$(13)
  6225.    Tmp = Tmp + "Currency      is " + cGetCurrency() + Chr$(13)
  6226.    Tmp = Tmp + "Language      is " + cGetLanguage() + Chr$(13)
  6227.    Tmp = Tmp + "Country       is " + cGetCountry() + Chr$(13)
  6228.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + Chr$(13)
  6229.    Label3.Caption = Tmp
  6230. End Sub
  6231. Sub TestWinINI1 ()
  6232.    Label3.Caption = cGetDevices() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetDevices())
  6233. End Sub
  6234. Sub TestWinINI2 ()
  6235.    Label3.Caption = cGetPrinterPorts() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetPrinterPorts())
  6236. End Sub
  6237. Sub TestWinINI3 ()
  6238.    Label3.Caption = cGetWinSection("windows") & Chr$(13) & Chr$(13) & "Length = " & Len(cGetWinSection("windows"))
  6239. End Sub
  6240.